1、let 使用let声明一个变量,但是如果在变量声明之前就输出声明的变量,就会报错(ReferenceError), 不过如果使用的是var的话,会输出undefined,这是因为在es6中不存在变量提升。 只要let存在的会计作用域,就会存在暂时性死区,就是这个变量绑定了这个区域,这个区域的这个 ...
分类:
其他好文 时间:
2017-08-23 13:36:23
阅读次数:
137
js面试中长见的算法题 1.阐述下 JavaScript 中的变量提升 所谓提升,顾名思义即是 JavaScript 会将所有的声明提升到当前作用域的顶部。这也就意味着我们可以在某个变量声明前就使用该变量,不过虽然 JavaScript 会将声明提升到顶部,但是并不会执行真的初始化过程。2.阐述下 ...
分类:
编程语言 时间:
2017-08-21 14:53:21
阅读次数:
192
一:let 1.块级作用域 外层作用域无法读取内层作用域的变量。 2.不存在变量提升 3.TDZ:暂时性死区 “暂时性死区”也意味着typeof不再是一个百分之百安全的操作。 这样的设计是为了让大家养成良好的编程习惯,变量一定要在声明之后使用,否则就报错。 变量没声明和声明不赋值,返回的都是unde ...
分类:
其他好文 时间:
2017-08-15 10:15:32
阅读次数:
94
1.有关作用域,变量提升的 2.有关类型检测的,基本类型的是用typeof,还有构造函数方法判断,还有duck typing 3.有关函数调用,setTimeout的 ...
分类:
Web程序 时间:
2017-08-08 14:00:14
阅读次数:
184
js预解析 需要注意的 JS会先检查遍历的时候先声明不赋值,这里有2点需要注意* 1,函数声明优先于变量声明,* 2,变量声明同级,安先后顺序执行代码如下alert()a()var a = 3;function a(){alert(10)};a=3;alert(a);a=6;a()解析如下var a ...
分类:
Web程序 时间:
2017-08-07 11:56:42
阅读次数:
174
ECMAScript6简介 ECMAScript6(简称ES6)是JavaScript语言的下一代标准,已于2015年6月正式发布。ES6是在2015年发布的,所以又称ECMAScript2015。 一.ES6声明变量的六种方法 let命令 1.let命令用于声明变量,但是所声明的变量只有在let命 ...
分类:
其他好文 时间:
2017-08-02 13:10:00
阅读次数:
89
新特性 let、const let 定义的变量不会被变量提升,const 定义的常量不能被修改,let 和 const 都是块级作用域 ES6前,js 是没有块级作用域 {} 的概念的。(有函数作用域、全局作用域、eval作用域) ES6后,let 和 const 的出现,js 也有了块级作用域的概 ...
分类:
其他好文 时间:
2017-08-02 11:52:24
阅读次数:
150
LET: 基本用法:在javascript中声明一个变量通常使用var ,在es6中新增了let指令,用法类似var ,但是let声明的变量只能在所在的代码块有效。 ?? 使用let声明变量要注意一下几个点: 1,let指令不存在变量提升,所以变量一定要先声明后再使用,否则就会报错。 2, 存在暂时 ...
分类:
其他好文 时间:
2017-07-30 13:54:33
阅读次数:
95