मैं कुछ समय के लिए जावास्क्रिप्ट प्रश्न के साथ संघर्ष कर रहा हूं और मैं वेब पर स्पष्टीकरण नहीं ढूंढ पाया। मुझे लगता है कि ऐसा इसलिए है क्योंकि मैं सही कीवर्ड नहीं डालता जो कि इससे संबंधित भी हो सकता है कि मैं इसके साथ क्यों संघर्ष कर रहा हूं।जावास्क्रिप्ट फ़ंक्शन ऑब्जेक्ट्स हैं?
मेरे बुनियादी धारणा है कि यह वस्तुओं को बदलने के लिए संभव है:
> var x = {'n': 2};
> x['n']
2
> x['n'] = 3;
3
pheww कि काम किया। लेकिन फिर भी (कार्य वस्तुएं भी हैं):
> var addn = function(a) {
var n = 2;
return n + a;
}
> addn(3);
5
> addn['n'] = 3;
3
> addn(3);
5
इस बार मैं 'एन' को बदलने में सक्षम नहीं था। कार्यात्मक स्वाद को बनाए रखते हुए इसे ठीक करने का कोई तरीका है? पूरी तरह से ओओ जाने के विरोध में। एक संबंधित प्रश्न यह है कि उदाहरण के परीक्षण के उद्देश्य से कार्यों की निर्भरताओं को बनाए रखने के लिए कैसे होगा - फिर से ओओ जा रहा है? कारण मैं एक समाधान की तलाश में हूं लेकिन यदि संभव हो तो मैं यह भी समझना चाहूंगा कि जावास्क्रिप्ट में कौन सी तंत्र मुझे संघर्ष कर रही है।
चीयर्स,
मार्क
अस्वीकरण: OO उल्लेख करके मैं OO के खिलाफ कुछ भी कहने के लिए आशय नहीं है। और मैं VI या Emacs के खिलाफ कुछ भी कहना नहीं चाहता हूं। अगर मैं आपकी भावनाओं को किसी तरह चोट पहुंचाता हूं तो कृपया इसे छोड़ दें।
आप हमेशा पैरामीटर के रूप में एन में पास हो सकते हैं, लेकिन मुझे लगता है कि आप जो पूछ रहे हैं वह नहीं है। – Orbit
_ का मतलब क्या है "इस बार मैं 'n' _ _ _ बदलने में सक्षम नहीं था? क्या 'addn' 'n'] 'वापसी' 3' है? –
आपकी ओओ टिप्पणियों के संबंध में: आप * ओओओ को फिर से शुरू करने की कोशिश कर रहे हैं, जो जावास्क्रिप्ट में भी पर्याप्त से अधिक किया गया है। ;) –