JS中的let变量

let允许声明一个作用域在块级的表达式、变量或者语句

在function中局部变量推荐使用let变量   避免变量名冲突

let声明的变量只在其块或子块中起作用   与var不同的是   var声明的变量作用域是整个封闭函数

(1)

function(  ){

var x=0;

if ( true ) {

var x=2;

console.log(x);   //输出2

}

console.log(x);    //输出2

}

因为var声明的变量将会作用与整个封闭函数

执行var x=2代码行后x的值就固定为2

直到function块结束

(2)

function(  ){

var x=0;

if ( true ) {

let x=2;

console.log(x);   //输出2

}

console.log(x);    //输出0

}

let声明的变量x作用域仅局限在if块中  在if块中输出为2

当if块执行完毕后   外部的var x=0作用在整个function函数中  所以x的值为0

猜你喜欢

转载自www.cnblogs.com/zhuyan-dailycheck/p/9811757.html