在我的一些 Javascript 对象中,我发现我的this
指针是正确的 - 这些是new Func()
-type 对象 - 在创建时,但在分配的方法中它可能是错误的。
function Confused() {
console.log("checking",this==window,"is always false");
this.method = function() {
console.log("checking",this==window,"is true for some funcs but not others");
};
};
在一些调用(new Confused()).method()
- 它似乎已经失去了它的this
指针。这种情况发生的时间似乎取决于函数,而不是随机的;它在代码中围绕我如何创建导致这种情况的类。
在http://williame.github.com/barebones.js/上有一个示例,有时调用成员回调时指针G3D._file_loaded
错误。this
为什么,我该如何解决?