在JavaScript中,let的作用是声明块级别作用域的变量、语句或者表达式,并且可选的将其初始化为一个值;语法“let 变量名;”或“let 变量名=值;”。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
JavaScript let关键字
ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。
使用 let 可以声明块级别作用域的变量,声明的格式和 var 声明变量的格式一样存在 3 种方式,如下所示:
方式一:let 变量名; 方式二:let 变量名1,变量名2,…,变量名n; 方式三:let 变量名1=值1,变量名2=值2,…,变量名n=值n;
1) 使用 let 可以一次声明一个变量,也可以一次声明多个变量,不同变量之间使用逗号隔开。例如:
let name; //一次声明一个变量 let name,age,gender; //一次声明多个变量
2) 声明变量时可以不初始化(即赋初值),此时其值默认为 undefined;也可以在声明变量的同时初始化变量。例如:
let name = "张三"; //声明的同时初始化变量 let name = "张三",age = 20,gender; //在一条声明中初始化部分变量 let name = "张三",age=20,gender = ’女’; //在一条声明中初始化全部变量
3) 变量的具体数据类型根据所赋的值的数据类型来确定,例如:
let message = "hello";//值为字符串类型,所以message变量的类型为字符串类型 let message = 123; //值为数字类型,所以message变量的类型为数字类型 let message = true;//值为布尔类型,所以message变量的类型为布尔类型
let与var不同的是,它声明的变量只能是全局或者整个函数块的。换句话,块级 == { }
let 声明的变量只是在其声明的块或者子块中可用,这一点,与var相似。二者的主要区别在于var声明的变量的作用域是整个封闭函数,而let声明的作用域是块。
function varTest() { var x = 1; if (true) { var x = 2; // 同样的变量! console.log(x); // 2 } console.log(x); // 2 } function letTest() { let x = 1; if (true) { let x = 2; // 不同的变量 console.log(x); // 2 } console.log(x); // 1 }
【推荐学习:javascript高级教程】