2.1 let命令

来源:互联网 发布:数组排序去重 编辑:程序博客网 时间:2024/05/17 07:46

2.1.1 基本用法

1:let声明的变量只在所在的代码块内有效;
这里写图片描述
2:var解析
这里写图片描述
3:
这里写图片描述
4:
这里写图片描述
5:var的作用域还是跟以前一样,只不过for循环比较特殊;
这里写图片描述

2.1.2 let命令不存在变量提升

这里写图片描述

2.1.3 暂时性死区

ES6明确规定,如果区块中存在let和const命令,则这个区块对这些命令声明的变量从一开始就形成封闭的作用域;只要在声明之前使用这些变量,就会报错;
暂时性死区的本质就是:只要进入当前作用域,所要使用的变量就已经存在,但是不可以获取,只有等到声明变量的那行代码出现以后,才可以获取、使用这些变量;
这里写图片描述

2.1.4 不允许重复声明

//以下三种方式全部报错  Uncaught SyntaxError: Identifier 'a' has already been declared    function run1(){        var a=10;        let a=20;    }    function run2(){        let a=10;        var a=20;    }    function run3(arg){        let arg=20    }//这种方式是正确的    function run4(arg){        {                let arg=20        }    }
原创粉丝点击