John Resig的简单Javascript继承:http://ejohn.org/blog/simple-javascript-inheritance/
我试着做这样的事:
var SomeClass = Class.extend({
init: function() {
var someFunction = function() {
alert(this.someVariable);
};
someFunction(); // should alert "someString"
},
someVariable: "SomeString"
});
var someClass = new SomeClass();
这应该会提醒"someString",但它没有,因为在闭包函数someFunction中,this的值没有引用该类,而是被更改了。这使我无法访问闭包函数中类的属性和函数。
有什么建议吗?
1条答案
按热度按时间72qzrwbm1#
我相信你的问题在于"this"指的是什么,"this"在这种情况下指的是功能,而不是对象,你想要的大概是: