जावास्क्रिप्ट: फ़ंक्शन पैरामीटर के रूप में अपरिभाषित - जावास्क्रिप्ट, पैरामीटर, अपरिभाषित

इस पर पृष्ठ, यह कुछ उदाहरण कोड दिखाता है, जिसमें निम्न पंक्ति है:

var Subject = ( function( window, undefined ) {

क्या है undefined एक समारोह पैरामीटर के रूप में?

उत्तर:

जवाब के लिए 5 № 1

इसका उपयोग मूल्य को ओवरराइड करने से रोकने के लिए किया जाता है undefined गैर सख्त मोड में।

गैर-सख्त मोड में, का मूल्य undefined इसे अन्य मूल्य निर्दिष्ट करके ओवरराइड किया जा सकता है।

undefined = true; // Or any other value

तो, के मूल्य का उपयोग कर undefined उम्मीद के रूप में काम नहीं करेगा।

सख्त मोड में, undefined केवल पढ़ने के लिए है और इसे आवंटित करने से त्रुटि फेंक जाएगी।

कोड में, अंतिम पैरामीटर का मान पास नहीं किया गया है, इसलिए इसे "निश्चित रूप से पास किया जाएगा undefined

var Subject = ( function( window, undefined ) {

}(window)); // <-- No parameter is passed for the last value

जवाब के लिए 2 № 2

यह सुनिश्चित करने के लिए किया जाता है कि अनिर्धारित हमेशा अनिर्धारित है। जावास्क्रिप्ट में, चूंकि अपरिभाषित "आरक्षित शब्द नहीं है लेकिन एक नियमित चर है, उदाहरण के लिए इसे अनुमति दी जाएगी:

 undefined = 2; // Assign a different value to undefined
if (undefined == 2)  // Now this statement would be true

तो आपके मामले में

var Subject = ( function( window, undefined ) {

वे खिड़की में गुजरते हैं और इसका इस्तेमाल करते हैं, लेकिन फिर वे अपरिभाषित पैरामीटर के लिए दूसरा मान नहीं देते हैं, इस प्रकार अपरिभाषित अपरिभाषित होगा।


जवाब के लिए 0 № 3

क्योंकि आप के मूल्य को फिर से परिभाषित करने में सक्षम होते थे undefined, लेकिन अब और नहीं। अपरिभाषित एक विशेष प्रकार है जिसमें कई उपयोग के मामले हैं। अगर इसे फिर से परिभाषित किया गया था true, इस तरह का कोड तोड़ देगा:

if(my_var === undefined) {
dont_load_missiles());
} else {
load_missiles();
}

संबंधित सवाल
सबसे लोकप्रिय