前端面试(常见面试题总结一)

前端之家收集整理的这篇文章主要介绍了前端面试(常见面试题总结一)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.var是全局声明,let是块级作用的,只适用于当前代码

a = 1<span style="color: #0000ff;">if(<span style="color: #0000ff;">true<span style="color: #000000;">){

let a;

a=22<span style="color: #000000;">;

console.log(a);'<span style="color: #000000;">//22
}

 

if(){}内就是let作用于的块

2.var变量会发生变量提升,let则不会进行变量提升

<span style="color: #0000ff;">var a=2<span style="color: #000000;">;

console.log(a) 结果为underfined

 

如果是 let a =2 则会提示报错

3.var 会造成重复赋值,循环里的赋值可能会造成变量泄露至全局

4.let在一个块级作用只能赋一次值,并进行当前代码块的锁区,就是说当前块只有let声明的这个变量是有用的

a =2<span style="color: #0000ff;">if(<span style="color: #0000ff;">true<span style="color: #000000;">){
a=3;<span style="color: #008000;">//<span style="color: #008000;">这个值会赋值失败,因为let造成了if{}这块代码的锁区
<span style="color: #000000;">
let a;
}

 

 

5.let在一个块级内,只能声明一个一个相同的变量名

a =2<span style="color: #0000ff;">if(<span style="color: #0000ff;">true<span style="color: #000000;">) {

<span style="color: #0000ff;">var a=1;<span style="color: #008000;">//<span style="color: #008000;">a=1
<span style="color: #000000;">
let a=1<span style="color: #000000;">;

let a=2;<span style="color: #008000;">//<span style="color: #008000;">报错
<span style="color: #000000;">
}

 

  

 

原文链接:https://www.f2er.com/js/238550.html

猜你在找的JavaScript相关文章