在原型设计时跟踪javascript对象引用的最佳方法是什么?

What the best way to keep track of a javascript object reference when prototyping

本文关键字:最佳 方法 是什么 对象引用 javascript 原型 跟踪      更新时间:2023-09-26

在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 
   })
http://jsfiddle.net/d7q5f/

当前self似乎是全局的,并且在object2的构造函数中被覆盖。如果有人能提供一些建议,我会非常感激。

您不需要跟踪,只需像这样使用this:

function class1(param) {
this.param = param;
}
class1.prototype.method1 = function () {
console.log(this.param);
}
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 ?

jsfiddle