apply(null,array_of_numbers) null代表什么?????? 不是相等于直接写的max() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那请问 f.(o,[1,2]) 不是 相当于 o.f(1,2)? 那 f.(null,[1,2]) 不就是 null.f()? null相当于顶级,所以关系下来相等于直接写 可能是由于Math不能创建实例吧,所以特殊点 很容易理解,主要是你还不理解apply的使用a=[10,20,30]alert(Math.max(10,20,30))alert(Math.max.apply(null,a))看看这个。因为Math.max传递的参数不能为数组,为了方便,可以用apply方法来实现用数组的参数来传递,这是很多时候运用的一个小技巧罢了。而第一个参数,是要替代的对象。没有要替代的,用null,也是很自然的。当然你也可以用call方法,如果用call方法,就和直接调用Math.max一样了,call和apply的功能是一样的。再比如:function foo () { bar.apply(null,arguments);}function bar () { for (var i=0; i<arguments.length; i++) { alert(arguments[i]); }}foo("I","am","never-online") BlueDestiny(阿恺) 你举的那个例子可能不大好,如果max不是按照for (var i=0; i<arguments.length; i++) { alert(arguments[i]); }的方式来读取参数的话就不行。apply和call也不是能随便用的。一般是用在参数是数组类型的函数中的。 JSP+ACCESS:用复选框删除留言功能? jquery与MVC路径!!!求助!!!急!!! 请问一下javascript里如何按照行数截取 javascript事件注册显示弹出菜单问题 關閉showModalDialog模式窗口時不做任何操作怎麼寫? 关于安钮的热键怎么控制的问题? 请问这个函数的意义 如何遍历页面上的所有控件?? javascript的confirm对话框,点击“确定”后,触发form中的一个按钮(submit)的onclick事件 时间大小的比较 怎样建立XMLHTTP对象 这两个定义对象是不是一样的?
alert(Math.max(10,20,30))
alert(Math.max.apply(null,a))看看这个。
因为Math.max传递的参数不能为数组,为了方便,可以用apply方法来实现用数组的参数来传递,这是很多时候运用的一个小技巧罢了。而第一个参数,是要替代的对象。没有要替代的,用null,也是很自然的。当然你也可以用call方法,如果用call方法,就和直接调用Math.max一样了,call和apply的功能是一样的。再比如:
function foo () {
bar.apply(null,arguments);
}function bar () {
for (var i=0; i<arguments.length; i++) {
alert(arguments[i]);
}
}foo("I","am","never-online")
for (var i=0; i<arguments.length; i++) {
alert(arguments[i]);
}
的方式来读取参数的话就不行。apply和call也不是能随便用的。一般是用在参数是数组类型的函数中的。