Javascript 未捕获类型错误:Function.prototype.apply:参数列表的类型错误(?)
当我使用Javascript 未捕获类型错误:Function.prototype.apply:参数列表的类型错误(?),javascript,Javascript,当我使用.apply()方法时,我收到错误未捕获类型错误:Function.prototype.apply:Arguments列表的类型错误,我不确定原因。我的密码是 当jsiddle加载时,单击单词test旁边的并按Enter键。发生错误的方法是this.addEvent。我正在尝试使我的对象成为事件回调函数中的“this”。您应该使用.call而不是。apply 当lst是使用obj作为this的数组(或arguments)时,相当于a(lst[0]、lst[1]、lst[2]、…) 相当于
.apply()
方法时,我收到错误未捕获类型错误:Function.prototype.apply:Arguments列表的类型错误,我不确定原因。我的密码是
当jsiddle加载时,单击单词test旁边的并按Enter键。发生错误的方法是this.addEvent
。我正在尝试使我的对象成为事件回调函数中的“this”。您应该使用.call
而不是。apply
当lst
是使用obj
作为this
的数组(或arguments
)时,相当于a(lst[0]、lst[1]、lst[2]、…)
相当于使用obj
作为this
使用a(x,y,z,…)
由于e
是参数之一,而不是参数数组,因此应使用.call
apply
需要一个数组对象。如果要直接提供参数,还可以使用call
。您还可以使用apply
func.apply(editorObject, [e]); //=> apply expects an array of arguments
func.call(editorObject, e); //=> call receives arguments directly
我不认为这是一个应该或不应该的问题。完全可以将apply
与单个元素数组一起用作第二个参数。由于JSFIDLE链接已断开,您能否更新帖子,将代码发布到此处?