let声明

🎈解释

let 声明变量的方式与var基本一致,区别在于let声明的变量的作用域会被限制在当前代码块中(除此之外还有一些细微的差别),由于let声明的变量不会被提升到代码块的顶部,所以需要你手动将其提升到代码块的顶部(如果需要的话),以便让变量在整个代码块可用,下面是函数范例:

function getValue(condition){
    if (condition){
        let value = "blue";

        //其他代码

        return value;

    }else{
        //在这里拿不到value

        return value;
    }
    //在这里也拿不到value
}

如你所见,这种写法的getValue函数的方式更加接近其他类C语言,这种使用let而不是var声明变量的方式,变量不会被提升到函数内顶部,所以在else分支是拿不到value的而在if代码块之外更是拿不到value的,并且当condition的值为false时,变量value永远不会被声明和初始化

results matching ""

    No results matching ""