मैंने SO पर अन्य सभी (उत्कृष्ट) उत्तरों को देखा है (विशेष रूप से यह: How do JavaScript closures work?) लेकिन मैं अवधारणा की मेरी समझ पर आपकी प्रतिक्रिया चाहता था।क्या यह जावास्क्रिप्ट बंद करने के लिए एक वैध उपयोग केस है?
मैं समझता हूं कि सार्वजनिक उपयोग से निजी तरीकों के कार्यान्वयन को छिपाने के लिए एक उपयोग का मामला है।
<script>
function carFactory(make) {
var m = make;
return { manufacture: function (model)
{console.log("A " + m + " " + model + " has been created");}
}
}
toyotaFactory = carFactory("toyota");
hondaFactory = carFactory("honda");
toyotaFactory.manufacture("corolla");
toyotaFactory.manufacture("corolla");
hondaFactory.manufacture("civic");
</script>
यह आउटपुट:
अन्य एक है कि मैं के बारे में सोच एक कारखाने जनरेटर के रूप में यह चल रहा है
A toyota corolla has been create
A toyota corolla has been created
A honda civic has been created
तो तुम बंद के लिए अपने एक वैध उपयोग के मामले में सोचते हैं (यानी बनाने एक ही कोड बेस का उपयोग कर कई कारखानों)? या क्या मैं कुछ बेहतर तरीके से एक ही चीज़ प्राप्त कर सकता हूं?
कृपया ध्यान दें कि प्रश्न बंद करने के तकनीकी कार्यान्वयन और आवेदन डिजाइन/विकास में वैध उपयोग मामलों के बारे में अधिक जानकारी है।
धन्यवाद।
मुझे ठीक लगता है। – Almo
अच्छा लग रहा है! मैने इसके साथ कुछ भी गलत नहीं देखा। – Linuxios
तकनीकी रूप से, आपको 'एम' की आवश्यकता नहीं है - आप केवल' मेक 'का उपयोग कर सकते हैं। – josh3736