åéå¯è§åï¼
ä¸é¢è¿æ®µä»£ç çç»æä¼æ¯ä»ä¹ï¼
let x = 1;
function func() {
console.log(x); // ?
let x = 2;
}
func();
P.S. è¿ä¸ªä»»å¡æä¸ä¸ªé·é±ãè§£å³æ¹æ¡å¹¶ä¸ææ¾ã
çæ¡ï¼errorã
ä½ è¿è¡ä¸ä¸è¯è¯ï¼
let x = 1;
function func() {
console.log(x); // ReferenceError: Cannot access 'x' before initialization
let x = 2;
}
func();
å¨è¿ä¸ªä¾åä¸ï¼æä»¬å¯ä»¥è§å¯å°âä¸åå¨âçåéåâæªåå§åâçåéä¹é´çç¹æ®å·®å¼ã
ä½ å¯è½å·²ç»å¨ åéä½ç¨åï¼éå
ä¸å¦è¿äºï¼ä»ç¨åºæ§è¡è¿å
¥ä»£ç åï¼æå½æ°ï¼çé£ä¸å»èµ·ï¼åéå°±å¼å§è¿å
¥âæªåå§åâç¶æãå®ä¸ç´ä¿ææªåå§åç¶æï¼ç´è³ç¨åºæ§è¡å°ç¸åºç let è¯å¥ã
æ¢å¥è¯è¯´ï¼ä¸ä¸ªåé仿æ¯çè§åº¦æ¥è®²æ¯åå¨çï¼ä½æ¯å¨ let ä¹åè¿ä¸è½ä½¿ç¨ã
ä¸é¢çè¿æ®µä»£ç è¯å®äºè¿ä¸ç¹ã
function func() {
// 弿ä»å½æ°å¼å§å°±ç¥éå±é¨åé xï¼
// 使¯åé x ä¸ç´å¤äºâæªåå§åâï¼æ æ³ä½¿ç¨ï¼çç¶æï¼ç´å°éå° letï¼æ¤æ¶âæ»åºâç»æ
// å æ¤çæ¡æ¯ error
console.log(x); // ReferenceError: Cannot access 'x' before initialization
let x = 2;
}
åéææ¶æ æ³ä½¿ç¨çåºåï¼ä»ä»£ç åçå¼å§å° letï¼ææ¶è¢«ç§°ä¸ºâæ»åºâã