let是块级的 var是函数级 (JS以前只有全局的和函数级的) 泄密: 提升: 临时失效区 代替立即执行 const使用 const这个常量并不是指对象本身不可以修改,而是指常量所指的内存地址不可以修改。 var let的物理指针可以随意修改,而const不行,但物理指针的那个对象是可以修改的。 ...
分类:
其他好文 时间:
2019-10-12 19:12:10
阅读次数:
91
1 新版变量声明:let 和 const 3 ES6深入浅出-1 新版变量声明:let 和 const-1.视频 概述 ES6深入浅出-1 新版变量声明:let 和 const-2.视频 let和const ...
分类:
其他好文 时间:
2019-09-19 01:42:37
阅读次数:
105
es7语法比较少,只占了一点点 ES 6 新特性一览:https://frankfang.github.io/es-6-tutorials/ 我用了两个月的时间才理解 let https://zhuanlan.zhihu.com/p/28140450 ...
分类:
其他好文 时间:
2019-09-19 01:41:40
阅读次数:
90
以前的var方式声明不好用 a=1回声明一个全局变量, 输出了1 说明a=1确实声明了一个全局变量。 但是你把放在其他的地方,就不是声明全局变量了。 如果外面有个全局变量a 那么函数里面就是给a赋值 有两层函数的时候,直接使用的是局部变量a,也就是fn函数里面的a 如果当前没有a就声明一个全局变量a ...
分类:
其他好文 时间:
2019-09-19 01:33:39
阅读次数:
120
ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。 let 声明的变量只在 let 命令所在的代码块内有效。 const 声明一个只读的常量,一旦声明,常量的值就不能改变。 在 ES6 之前,JavaScript 只有两种作用域: 全局变量 与 函数 ...
分类:
Web程序 时间:
2019-09-16 23:19:46
阅读次数:
131
变量声明 变量声明方式 伴随js诞生的var var缺陷场景分析 我们在定义一个变量,通常是 跳过检查是否已经定义了此变量 ,尤其在编写局部代码时,这就更加 容易导致了命名引起的重复定义,导致一些核心变量被覆盖,造成系统重大破坏 ,在上面的例子,就会因为spcialUser变量导致系统使用到该变量的 ...
分类:
其他好文 时间:
2019-09-14 11:30:23
阅读次数:
139
1.let部分 代码块内的暂时性死区是因为检测到了let命令吗?(感觉像是let提升在最顶部) 如果是用var声明的就不存在暂时性死区吗?(应该没有) (不懂上面的编译过程) 总而言之,不加var的变量虽然可以成为全局变量,但是不会进行变量提升 2.知识点 不存在变量提升,存在暂时性死区TDZ 不能 ...
分类:
其他好文 时间:
2019-09-12 19:53:49
阅读次数:
140
1变量提升: 就是说,以var声明的变量,它的声明会被提升到当前作用域的顶端(注意是变量声明提升,变量的赋值没有提升) 举一个例子: 上面代码相当于: 2 那么如果用let和const声明的变量是否会提升?let和const是块级作用域 用以下例子进行测试: <script> console.log ...
分类:
Web程序 时间:
2019-09-01 10:23:43
阅读次数:
103
ES5中只有全局作用域和函数作用域,没有块级作用域。在ES6中多了一个块级作用域, {}在ES6中用来形成块级作用域,即代码块。 let命令声明的变量只在let代码块内有效,声明之后可以改变变量的值。 let不会发生变量提升的现象,需要在定义后使用,否则报错。 下例中,由于var命令的变量提升机制, ...
分类:
其他好文 时间:
2019-08-27 19:34:58
阅读次数:
61
1、在ES5中我们定义一个变量是通过 var 关键字来定义的。如:var name = 'zjl' var obj = {name:'zjl',age:'18'} 2、在ES6中新引进了两个定义变量的关键字 let 和 const。 3、ES6之 let: let 的用法和 var 很类似,但它存在 ...
分类:
其他好文 时间:
2019-08-27 00:47:09
阅读次数:
75