इस कोड को हमेशा काम करता है, यहां तक कि विभिन्न ब्राउज़रों में:जावास्क्रिप्ट में परिभाषित होने से पहले मैं फ़ंक्शन का उपयोग क्यों कर सकता हूं?
function fooCheck() {
alert(internalFoo()); // We are using internalFoo() here...
return internalFoo(); // And here, even though it has not been defined...
function internalFoo() { return true; } //...until here!
}
fooCheck();
मैं नहीं क्यों यह काम करना चाहिए के लिए एक एकल संदर्भ है, हालांकि मिल सकता है। मैंने पहली बार जॉन रेसिग के प्रस्तुति नोट में यह देखा, लेकिन इसका उल्लेख केवल किया गया था। उस मामले के लिए वहां या कहीं भी कोई स्पष्टीकरण नहीं है।
क्या कोई मुझे प्रबुद्ध कर सकता है?
फ़ायरफ़ॉक्स के नए संस्करण में, यह अगर कोड आज़माएं/कैच में है काम नहीं करता। यह पहेली देखें: http://jsfiddle.net/qzzc1evt/ –