首页 > 移动平台 > 详细

Javascript apply的巧妙用法

时间:2017-07-13 10:01:46      阅读:250      评论:0      收藏:0      [点我收藏+]

Math.max 可以实现得到数组中最大的一项

var array = [1,2,3,4,5];
var max = Math.max.apply(null, array);
console.log(max); // 5

调用的时候第一个参数给了一个null,这个是因为没有对象去调用这个方法,只需要用这个方法帮助运算,得到返回的结果就行,所以直接传递了一个null过去。

Math.min 可以实现得到数组中最小的一项

var array = [1,2,3,4,5];
var min= Math.min.apply(null, array);
console.log(min); // 1

在原生对象上面添加max与min方法

那就会需要用到原生对象方法Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。

在原生对象上面添加方法,for循环也会查找不到

    Object.defineProperty(Array.prototype, ‘max‘, {  
        writable: false,  
        enumerable: false,  
        configurable: true,  
        value: function () {  
            return Math.max.apply(null, this);  
        }  
    });  
      
    Object.defineProperty(Array.prototype, ‘min‘, {  
        writable: false,  
        enumerable: false,  
        configurable: true,  
        value: function () {  
            return Math.min.apply(null, this);  
        }  
    });  

如何使用呢,直接在数组上调用即可

var arr = [54,545,2165,545,56];  
console.log(arr.max());  
console.log(arr.min()); 

 

Javascript apply的巧妙用法

原文:http://www.cnblogs.com/moqiutao/p/7158688.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!