原文地址:http://www.cnblogs.com/liuhe688/p/5845561.html let和const有很多相似之处,先说一说let吧。 1. let添加了块级作用域 我们知道,JavaScript是没有块级作用域的,如果在块内使用var声明一个变量,它在代码块外面仍旧是可见的: ...
分类:
其他好文 时间:
2017-08-18 15:19:58
阅读次数:
168
一:let 1.块级作用域 外层作用域无法读取内层作用域的变量。 2.不存在变量提升 3.TDZ:暂时性死区 “暂时性死区”也意味着typeof不再是一个百分之百安全的操作。 这样的设计是为了让大家养成良好的编程习惯,变量一定要在声明之后使用,否则就报错。 变量没声明和声明不赋值,返回的都是unde ...
分类:
其他好文 时间:
2017-08-15 10:15:32
阅读次数:
94
作用域 1.变量起作用的范围 -一个变量的作用域就是从这个变量定义开始到这个变量所在的{}结束 2.在js中,只有函数可以创建作用域 -没有块级作用域--意味着在if或者for中定义的变量在它们的外部也能够访问 -变量获取遵守变量搜索原则 -不关注什么时候调用,只关注在什么位置创建 3.词法作用域( ...
分类:
其他好文 时间:
2017-08-13 19:22:58
阅读次数:
111
在JavaScript中使用var定义变量,但是在typescript中定义变量推荐使用let ,let声明的变量只在其所在的代码块内有效 1.要想正常使用let的前提:在.ts文件最上面添加(严格模式) "use strict"; 2.let声明的变量只在其块级作用域内生效 会报以下错误 说找不到 ...
分类:
其他好文 时间:
2017-08-10 20:54:11
阅读次数:
135
作用域 域表示的就是 范围, 即 作用范围. 就是一个名字在什么地方可以被使用, 什么时候不能使用. 块级作用域 即块级别的作用范围 在 js 中采用词法作用域 所谓的 词法( 代码 )作用域, 就是代码在编写过程中体现出来的作用范围. 代码一旦写好, 不用执行,作用范围就已经确定好了. 这个就是所 ...
分类:
其他好文 时间:
2017-08-07 20:34:49
阅读次数:
136
新特性 let、const let 定义的变量不会被变量提升,const 定义的常量不能被修改,let 和 const 都是块级作用域 ES6前,js 是没有块级作用域 {} 的概念的。(有函数作用域、全局作用域、eval作用域) ES6后,let 和 const 的出现,js 也有了块级作用域的概 ...
分类:
其他好文 时间:
2017-08-02 11:52:24
阅读次数:
150
JavaScript 一、“JavaScript中无块级作用域” 在Java和C#中存在块级作用域,即:大括号也是一个作用域 public static void main () { if(1==1){ String name = "seven"; } System.out.println(name ...
分类:
编程语言 时间:
2017-08-01 20:53:32
阅读次数:
146
1.let命令 1)let和var的区别:let声明的变量只有所在的代码块有效。 2)没有变量的提升,一定要声明后使用。使用let命令声明变量之前,该变量都是不可用的。形成“暂时性死区”。 3)typeof 不再是一个百分之百安全的操作。 2.块级作用域 1)es5和es6比较:es5 只有全局作用 ...
分类:
其他好文 时间:
2017-08-01 19:22:24
阅读次数:
125
记录一些javascript的基础知识。只是一起走过一段路而已,何必把怀念弄的比经过还长。 javascript的基础 一、在检测一个引用类型值和 Object 构造函数时, instanceof 操作符始终会返回 true 。 二、js中没有块级作用域,定义在块中的变量是全局变量。 三、js中创建 ...
分类:
编程语言 时间:
2017-08-01 17:09:33
阅读次数:
247
一、循环事件绑定: 这样绑定能否成功呢?发现不能,每次点击都会是5,因为触发事件的时候循环已经完了。其本质就是js没有局部作用域的概念,那么如何实现呢? 1、采用闭包: 2、采用新增索引值,对初学者更好理解一些 3、采用new关键字 4、采用ES5的forEach()方法 5、采用ES6块级作用域变 ...
分类:
其他好文 时间:
2017-07-30 18:02:33
阅读次数:
100