JS【arguments多个参数数组】
1 function(){ 2 3 var i,max = arguments[0]; 4 if(arguments.length<2) return max; 5 for(i=0;i<arguments.length;i++) 6 { 7 if(arguments[i]>max) 8 { 9 10 max = arguments[i]; 11 12 } 13 14 } 15 return arguments[1]; 16 17 }
作为函数方法调用函数;
call() 和 apply() 是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。
1 function myFunction(a, b) { 2 return a * b; 3 } 4 myObject = myFunction.call(myObject, 10, 2); // 返回 20
1 function myFunction(a, b) { 2 return a * b; 3 } 4 myArray = [10, 2]; 5 myObject = myFunction.apply(myObject, myArray); // 返回 20
两个方法都使用了对象本身作为第一个参数。 两者的区别在于第二个参数: apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。
在 JavaScript 严格模式(strict mode)下, 在调用函数时第一个参数会成为 this 的值, 即使该参数不是一个对象。
在 JavaScript 非严格模式(non-strict mode)下, 如果第一个参数的值是 null 或 undefined, 它将使用全局对象替代。
一个二次元的生物

浙公网安备 33010602011771号