當時應聘的時候被問到過這個問題,所以記錄下
var?和?let的區別
1.let是作用于代碼塊中(就是{}),var是作用于函數中
例子:
for?(var?a=0;a<5;a++)?{
??????setTimeout?(function?()?{
????????????console.log(a);
??????},1)
}
輸出:5;5;5;5;5;
for?(let?a=0;a<5;a++)?{
??????setTimeout?(function?()?{
????????????console.log(a);
??????},1)
}
輸出:0;?1;?2;?3;?4;
2.在函數中,var可以重復申明,let只能申明一次