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();
Run Code Online (Sandbox Code Playgroud)
这应该提醒"someString",但它并没有因为关闭函数内部someFunction,价值这并不指类,它被改变.这使我无法访问闭包函数内的类的属性和函数.
有什么建议?
我相信你的问题在于"这个"指的是什么."this"指的是这种情况下的功能,而不是对象.你想要的可能是:
var SomeClass = Class.extend({
init: function() {
var self = this;
var someFunction = function() {
alert(self.someVariable);
};
someFunction(); // should alert "someString"
},
someVariable: "SomeString"
});
var someClass = new SomeClass();
Run Code Online (Sandbox Code Playgroud)
非常晚编辑:另见:
| 归档时间: |
|
| 查看次数: |
575 次 |
| 最近记录: |