微信小程序可以使用Javascr ipt的最新ES6标准来开发所以微信小程序中var、let、const用法与区别可以视为Javascr ipt ES6标准中var、let、const用法与区别
let命令
基本用法
ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
{
let a = 10;
var b = 1;
}
a // ReferenceError: a is not defined.
b // 1
上面代码在代码
暂时性死区
只要块级作用域存在let命令,它所声明的变量就“绑定”这个区域,不再受外部的影响。这么说可能有些抽象,举个例子:
var temp = 123;
if(true) {
console.log(temp);
let temp;
}
结果:
> ReferenceError: temp is not defined
在代码块内,使用let声明变量之前,该变量都是不可用的。在语法上,称为“暂时性死区”。(temporal dead zone)
ES6规定暂时性死区和let、
1、let命令:
ES6 新增了let命令,用来声明变量。它的用法类似于var,但是 let 所声明的变量,只在let命令所在的代码块内有效。
代码如下:
{
let a = 1;
var b = 2;
}
console.log(b);// 2
console.log(a);// ReferenceError: a is not defined.
结果:
以上代码在代码块之中,分别用let和var声明了两个变量。然后在代码块之外调用这两
一、前提
解决ES5中只有全局作用域和函数作用域,没有块级作用域而带来的不合理的场景。
let
基本用法
用法和var 一样,只是let声明的变量只有在let命令所在的代码块有效
{
let a = 10;
var b = 1;
}
a // ReferenceError: a is not defined.
b // 1
可以看出var 声明的变量在代码块之外也是可以调用,而let声明的则调用报错。所以let 声明只在它声明的当前代码块中才能调用。
变量提升
在使用 var 的