ECMAScript 6 let和const命令 let命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1 上面代码在代码块之中,分别用let和var声明了两个变量.然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值.这表明,let声明的…
同步发布于:https://mingjiezhang.github.io/(转载请说明此出处). ES6中加入了let,也让JavaScript拥有了块级作用域. 没有块级作用域的JavaScript 在ES5及其之前的版本里,作用域只有全局作用域和函数作用域两种,而不像其他许多语言一样还拥有块级作用域.没有块级作用域的JavaScript在使用的过程中出现了许多意想不到的具体问题,比如下面这段代码的demo: var arr = []; for (var i = 0; i < 10; i++)…
在NDN的JavaScript Guide里,Array和Map,Set都属于collections of data.它们的区别就是,Array是ordered by an index value, Map,Set是ordered by a key.Map类似无属性的Object,Set类似Array,但是数据存取效率更高,适合大量数据.Map and Set的遍历顺序就是插入数据的顺序,先插入的先出来(FIFO—first in first out). Map and Set 用new生成实例…
1.let命令(作用同var) ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1 上面代码在代码块之中,分别用let和var声明了两个变量.然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值.这表明,let声明的变量只在它所在的代码块有效. for循环…
我们把命名参数(arguments)视为局部变量,在向参数传递基本类型值时,如同基本类型变量的复制一样,传递一个副本,参数在函数内部的改变不会影响外部的基本类型值.如: function add10(num){ num += 10 ; return num ; } var count = 10 ; var result = add10(count); alert(count);// 10 alert(result); //20 在向参数传递引用类型的值时,会把这个值 在内存中的地址复制给一个局部…
1.类型 string number object boolean null undefined symbol (es6) attention : (typeof null) 值为 'object', (typeof undefined)值为:'undefined',其余的如自己所想. null的定义:primitive value that represents the intentional absence of any object value.用来表示故意 丢失的一个对象类型(objec…