传递javascript对象属性

传递javascript对象属性,javascript,Javascript,在以下情况下,如何传递对象属性: ObjectTest = function() { this.var1= "3"; this.var2= ""; } 电话呢 ObjectTest .prototype.allFriends = function() { function bindEvents() { //pass var1 here } } 是否有一种方法可以传递ObjectTest属性,而不

在以下情况下,如何传递对象属性:

ObjectTest = function()
{
    this.var1= "3";    
    this.var2= "";
}
电话呢

    ObjectTest .prototype.allFriends = function() {

        function bindEvents() {
             //pass var1 here
        }
   }
是否有一种方法可以传递ObjectTest属性,而不将其作为bindEvents()的属性传递。如果可能的话,我更喜欢全球解决方案

ObjectTest.prototype.allFriends = function() {
    do_smth_with(this.var1);
}
不过,请注意,通过调用
newobjecttest()
,您将创建一个新的
ObjectTest
;如果没有
new
关键字,它将无法工作

编辑:由于内部函数将继承外部函数的(
allFriends
),因此它仍将工作:

如果它仍然对您不起作用,请参考家长的

ObjectTest .prototype.allFriends = function() {
    var parent = this;
    function bindEvents() {
         console.log(parent.var1);
    }
}
不过,请注意,通过调用
newobjecttest()
,您将创建一个新的
ObjectTest
;如果没有
new
关键字,它将无法工作

编辑:由于内部函数将继承外部函数的(
allFriends
),因此它仍将工作:

如果它仍然对您不起作用,请参考家长的

ObjectTest .prototype.allFriends = function() {
    var parent = this;
    function bindEvents() {
         console.log(parent.var1);
    }
}

您在allFriends原型中使用的代码与在构造函数中使用的代码相同:

ObjectTest = function()
{
    this.var1= "3";    
    this.var2= "";
}

ObjectTest.prototype.allFriends = function() {
    alert(this.var1);
}

您在allFriends原型中使用的代码与在构造函数中使用的代码相同:

ObjectTest = function()
{
    this.var1= "3";    
    this.var2= "";
}

ObjectTest.prototype.allFriends = function() {
    alert(this.var1);
}

相同:this.var1-运行此:

ObjectTest = function() {
    this.var1 = 3;    
    this.var2 = "";
};

ObjectTest.prototype.allFriends = function() {
    alert(this.var1);
};

x = new ObjectTest();
x.allFriends();

或者看看这个小提琴:

它是一样的:this.var1-运行这个:

ObjectTest = function() {
    this.var1 = 3;    
    this.var2 = "";
};

ObjectTest.prototype.allFriends = function() {
    alert(this.var1);
};

x = new ObjectTest();
x.allFriends();
或者看看这把小提琴: