我不太明白为什么下面的代码不起作用。这对调用函数有什么限制吗?我用来运行此代码的浏览器是 Mozilla Firefox 。
"use strict";
var object = {
foo : "test",
m : function() {
console.log(this.foo);
}
};
var bar = object.m.call;
bar(object); // TypeError: Function.prototype.call called on incompatible undefined
这只是解决更大的现实世界问题的一个例子。请考虑以下事项:
setInterval(object.m.call, 2000, object);
我告诉我,这听起来非常合乎逻辑,但很明显,由于 TypeError ,该语句不起作用。