请问apply方法传递数组和直接传递数组
来源:5-14 编程练习
慕少0288913
2019-08-14 19:50:02
//1、 var data = [3,4,2,1]; function multiply(){ var sum = 1; for(var i = 0; i<arguments.length; i++){ sum*= arguments[i]; } return sum; } //2、 var data = [3,4,2,1]; function multiple(arr){ var sum = 1; for(var i=0; i<arr.length; i++){ sum *= arr[i]; } return sum; }
请问这两种方法有什么区别吗,这种情况下用apply有什么优势吗?
2回答
好帮手慕码
2019-08-15
同学你好!
这两段代码中,两种方法效果都是一样的,没有太大区别。
apply的优势在于它的用法:function.apply(obj,args)方法能接收两个参数
obj:这个参数是你调用这个函数的对象,必须指定调用对象,如果没有可以写null。如果函数有this,那么这个参数就代表了this的指向
args:这个是数组,它将作为参数传给function.
如果帮助到了你 ,欢迎采纳 ,祝学习愉快~
慕少0288913
提问者
2019-08-14
//1、 multiply.apply(this,data); //2、 multiple(data);
相似问题
回答 1