मैं समझ नहीं पा रहा हूं कि किसी फ़ंक्शन के अंदर घोषित होने पर चर इतने अजीब क्यों होते हैं।
में
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
।