抱歉,我可能在这里是个菜鸟……但是:
我有以下 javascript 对象:
jeeni.TextField = (function(){
var tagId;
privateMethod = function(){
console.log("IN: privateMethod");
}
publicMethod = function(){
console.log("IN: publicMethod: " + this.tagId);
}
jeeni.TextField = function(id){
console.log("Constructor");
this.tagId = id;
}
jeeni.TextField.prototype = {
constructor: jeeni.TextField,
foo: publicMethod
};
return jeeni.TextField;
}());
现在,当我运行以下代码时,我得到了相应的结果:
var textField1 = new jeeni.TextField(21); // Outputs: Constructor
textField1.foo(); // Outputs: IN: publicMethod: 21
console.log(textField1.tagId); // Outputs: 21
console.log(textField1.privateMethod); // Outputs: undefined
所以我的问题是为什么是privateMethod
隐藏的而tagId
不是隐藏的。我希望它们都是私有范围。
请帮助一个菜鸟。
谢谢