मैं नए फंक्शन सिंटेक्स को समझने की कोशिश कर रहा हूं। जब मैं चर 'मान' का उपयोग करके घोषित करता हूं तो यह 'संदर्भ त्रुटि: मान परिभाषित नहीं है' त्रुटि देता है, लेकिन अगर मैं var या बिना var का उपयोग करता हूं तो आउटपुट परीक्षण के रूप में मुद्रित होता है। मुझे लगता है कि 'मान' चर वैश्विक है क्योंकि इसे बाहर परिभाषित किया गया है। लेकिन यह var के साथ क्यों काम करता है लेकिन जाने नहीं देता है, हालांकि दोनों वैश्विक चर हैं। ??
let value = "test";
function getFunc() {
// value = "test";
let func = new Function('console.log(value)');
return func;
}
getFunc()();
1 उत्तर
शीर्ष स्तर पर, let
, var
के विपरीत, वैश्विक वस्तु पर कोई गुण नहीं बनाता है।
var foo = "Foo"; // globally scoped
let bar = "Bar"; // not allowed to be globally scoped
console.log(window.foo); // Foo
console.log(window.bar); // undefined
इसलिए let
का उपयोग केवल {}
द्वारा दर्शाए गए एक संलग्न ब्लॉक के अंदर किया जा सकता है।
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
function
एक फ़ंक्शन (इसे एक प्रक्रिया, विधि, सबरूटीन या रूटीन भी कहा जाता है) एक एकल, विशिष्ट कार्य को करने के उद्देश्य से कोड का एक हिस्सा है। इस टैग का उपयोग उन प्रश्नों के लिए करें जिनमें विशेष रूप से कार्य करना या कॉल करना शामिल है। किसी कार्य को करने के लिए फ़ंक्शन को लागू करने में मदद के लिए, इसके बजाय [एल्गोरिथ्म] या कार्य-विशिष्ट टैग का उपयोग करें।