मैं समझ नहीं पा रहा हूं कि किसी फ़ंक्शन के अंदर घोषित होने पर चर इतने अजीब क्यों होते हैं।
में
firstसमारोह के साथ मैं घोषितletचरbऔरcमूल्य के साथ 10 :b = c = 10;में
secondसमारोह मैं दिखाने:b + ", " + cऔर यह दिखाता है:
10, 10इसके अलावा
firstसमारोह में मैंaमूल्य 10 के साथ घोषणा करता हूं :let a = b = c = 10;लेकिन
secondफ़ंक्शन में यह एक त्रुटि दिखाता है:परिवर्तनशील नहीं मिल सकता है:
aअब
firstफ़ंक्शन में मैंdमूल्य 20 के साथ घोषित करता हूं :var d = 20;लेकिन
secondफ़ंक्शन में यह पहले की तरह ही त्रुटि दिखाता है, लेकिन चर के साथd:परिवर्तनशील नहीं मिल सकता है:
d
उदाहरण:
function first() {
let a = b = c = 10;
var d = 20;
second();
}
function second() {
console.log(b + ", " + c); //shows "10, 10"
try{ console.log(a); } // Rreference error
catch(e){ console.error(e.message) }
try{ console.log(d); } // Reference error
catch(e){ console.error(e.message) }
}
first()
Dim Apple, Banana, Pear As Fruitका मतलब है Dim Apple / Dim Banana / Dim Pear As Fruit, और नहीं Dim Apple As Fruit / ...।
bऔरcउपसर्ग के साथ नहीं कर रहे हैंvarकीवर्ड।aऔर करने केdलिए स्थानीय हैंfirst।