我整天都在阅读 SO 帖子,但我没有想出任何对我有用的东西。
我有一个 JS 对象
function MyObject(a,b){
this.member_a = a;
this.member_b = b;
function operation1(){
$('#someDiv1').text(this.a);
}
function operation2(){
$('#someDiv1').text(this.b);
}
MyObject.prototype.PublicFunction1 = function(){
//There is an ajax call here
//success
operation1();
//failure
operation2();
}
}
大致就是这样。这就是我现在的模式。它在一个外部 JS 文件中。我的页面创建了一个MyObject(a,b)
,断点显示member_a
并且member_b
都正确初始化。在我的页面调用发生其他一些魔术之后MyObject.PublicFunction1();
,ajax 执行并且我进入operation1()
或者operation2()
但是当我在其中member_a
并且member_b
两者都是undefined
并且我不明白为什么。我失去了范围或其他东西。我有对象主体声明之外的私有函数和原型,两者的组合。如何从对象的原型中调用私有函数来处理对象的数据?
我也试过
ClassBody{
vars
private function
}
prototype{
private function call
}
并且一直在读这个