在javascript中跟踪对象引用时的最佳做法是:
function class1(param) {
this.param = param;
self = this;
}
class1.prototype.method1 = function () {
console.log(self.param);
}
$('document').ready(function () {
object1 = new class1('foo');
object2 = new class1('bar');
object1.method1(); // expected: foo , actual: bar
})
目前self似乎是全局的,并且在object2的构造函数中被覆盖。如果有人可以提供一些建议,我将非常感激。
答案 0 :(得分:1)
您无需跟踪,只需使用this
:
function class1(param) {
this.param = param;
}
class1.prototype.method1 = function () {
console.log(this.param);
}
答案 1 :(得分:1)
function class1(param) {
this.param = param;
}
class1.prototype.method1 = function () {
console.log(this.param);
}
$('document').ready(function () {
var object1 = new class1('foo');
var object2 = new class1('bar');
object1.method1(); // expected: foo , actual: foo
});
为什么要添加此self
内容?