पैरामीटर एक अलग नाम दें का प्रयास करें:
function Foo() {
var myPrivateBool = false,
myOtherVar;
this.bar = function(param) {
myPrivateBool = true;
myOtherVar = param;
};
this.baz = function() {
alert(myOtherVar);
};
}
var inst = new Foo;
inst.bar("new value");
inst.baz(); // alerts the value of the variable "myOtherVar"
http://jsfiddle.net/efqVW/
या यदि आप चाहें मान सेट करने के लिए एक निजी समारोह पैदा करते हैं।
function Foo() {
var myPrivateBool = false,
myOtherVar;
function setMyOtherVar(v) {
myOtherVar = v;
}
this.bar = function(myOtherVar) {
myPrivateBool = true;
setMyOtherVar(myOtherVar);
};
this.baz = function() {
alert(myOtherVar);
};
}
var inst = new Foo;
inst.bar("new value");
inst.baz();
http://jsfiddle.net/efqVW/1/
मुझे डर था कि यह होना होगा = (मुझे लगता है कि यह जेएस – Garrett
@ गारेट की एक दोष है: हाँ, 'बार' फ़ंक्शन में औपचारिक पैरामीटर कन्स्ट्रक्टर के चर के मुकाबले स्कोप चेन में करीब होंगे। – user113716
@ गेटेट : मुझे लगता है कि आप मूल्य निर्धारित करने के लिए एक निजी फ़ंक्शन बना सकते हैं, लेकिन मुझे यकीन नहीं है कि आप यही चाहते हैं। – user113716