apply:
1
var array1=[1,2,3,4,5];
var array2=[6,7,8,9,10];
Array.prototype.push.apply(array1,array2);
array1; //[1,2,3,4,5,6,7,8,9,10]
2
var numbers=[1,10,33,100,-55,423];
Math.max.apply(Math,numbers);
Math.max.call(Math,1,10,33,100,-55,423);
3
//来个经常用到的代理console.log方法
function log(msg){
console.log(msg);
}
//上面是常用的写法,但这样 我传的值是 log(1) 没毛病 如果是log(1,2,3)呢?那就有毛病了
//他不管后面传多少参数都会被舍弃掉只会打印1
//改进版本
function log(){
console.log.apply(console,arguments);
}
//这样不管传多少个参数都能打印出来了
时间: 2024-10-11 16:50:41