码迷,mamicode.com
首页 > 移动开发 > 详细

Javascript apply的巧妙用法

时间:2017-07-13 10:21:02      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:blog   border   property   最小   uri   code   没有   prot   console   

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的巧妙用法

标签:blog   border   property   最小   uri   code   没有   prot   console   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!