मैंने दूसरों को निम्नलिखित पैटर्न का उपयोग करके देखा है।जावास्क्रिप्ट फ़ंक्शन घोषणा (और अभिव्यक्ति) क्यों?
var bar = function foo(){};
console.log(bar); // foo()
console.log(foo); // ReferenceError: foo is not defined
लेकिन क्यों? यदि दोनों घोषित किए गए थे, तो मैं बिंदु देख सकता हूं, लेकिन वे नहीं हैं। कारण क्यों है?
आप मिल गया है क्या एक गुमनाम समारोह एक नाम है जो नहीं है के लिए हो रही पर विचार करना चाहिए। ऐसा करने का एकमात्र कारण यह है कि जब आप foo() फ़ंक्शन में डिबगिंग कर रहे हैं तो स्टैक ट्रेस केवल 'अज्ञात फ़ंक्शन' के बजाय नाम दिखाएगा। –