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

时间:2014-07-11 09:31:41

标签: javascript object reference

在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的构造函数中被覆盖。如果有人可以提供一些建议,我将非常感激。

2 个答案:

答案 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内容?

jsfiddle