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链接已断开,您能否更新帖子,将代码发布到此处?