因此,我可以在网页上的多个位置重用代码,我将其转换为面向对象的Javascript。原始代码如下所示:
foo = 42;
function bar(a,b) {
foo = a * foo + b;
}
...
bar(1,1)
我想我希望它看起来像这样:
function Example() {
this.foo = 42;
this.bar = function() {
this.foo = a * this.foo + b;
}
}
var one = new Example();
var two = new Example();
...
one.bar(1,1);
two.bar(2,3);
但是,我不确定我是否正在使用'这个'正确嵌套在嵌套函数中。我注意到我要转换的一些功能是事件处理程序已经引用了这个'这个'在他们的身体里。我该如何区分这个'已经在' this'的事件处理程序中我想用来访问我的本地变量?
答案 0 :(得分:1)
在Example类/函数中创建一个本地var
,然后您可以引用相应的this
对象。
function Example() {
var self = this;
this.foo = 42;
this.bar = function() {
self.foo = a * self.foo + b;
}
}