我有两个相同类型的对象。
function myObject(){
this.a = 1;
this.b = 1;
function changeA(){//some code};
function changeB(){//some code};
}
var obj1 = new myObject();
var obj2 = new myObject();
如何从外部代码,另一个函数或另一个对象(例如obj1)调用obj2.changeB()?
答案 0 :(得分:3)
obj2.changeB()
不存在。
您需要在对象上分配属性,而不是创建局部变量:
this.changeB = function() { ... };
答案 1 :(得分:0)
只需在您的对象中创建属性,如:
function myObject(){
this.a = 1;
this.b = 1;
this.functionA = function changeA(){//some code
alert('im 1');
};
this.functionb = function changeB(){//some code
alert('im 2');};
}
并调用函数obj2.functionb();
答案 2 :(得分:0)
你必须做那样的事情:
var myObject = function(){
var protectedValue1 = ‘variable’;
var protectedValue2 = ‘variable’;
var changeA = function(){
alert(protectedValue);
}
var changeB = function(){
alert(protectedValue);
}
}
var object1 = new myObject();
var object2 = new myObject();
//
object2.changeB();