gpt4 book ai didi

javascript - 需要帮助使用 John Resig 的简单 Javascript 继承

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:55 25 4
gpt4 key购买 nike

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 的值不引用类,它是变了。 这使我无法访问闭包函数中类的属性和函数。

有什么建议吗?

最佳答案

我认为您的问题在于“this”指的是什么。 “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();

非常晚的编辑:另见:

关于javascript - 需要帮助使用 John Resig 的简单 Javascript 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3124604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com