在JavaScript中,let的作用是聲明塊級別作用域的變量、語句或者表達式,并且可選的將其初始化為一個值;語法“l(fā)et 變量名;”或“l(fā)et 變量名=值;”。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
JavaScript let關(guān)鍵字
ES2015(ES6) 新增加了兩個重要的 JavaScript 關(guān)鍵字: 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) 聲明變量時可以不初始化(即賦初值),此時其值默認(rèn)為 undefined;也可以在聲明變量的同時初始化變量。例如:
let name = "張三"; //聲明的同時初始化變量 let name = "張三",age = 20,gender; //在一條聲明中初始化部分變量 let name = "張三",age=20,gender = ’女’; //在一條聲明中初始化全部變量
3) 變量的具體數(shù)據(jù)類型根據(jù)所賦的值的數(shù)據(jù)類型來確定,例如:
let message = "hello";//值為字符串類型,所以message變量的類型為字符串類型 let message = 123; //值為數(shù)字類型,所以message變量的類型為數(shù)字類型 let message = true;//值為布爾類型,所以message變量的類型為布爾類型
let與var不同的是,它聲明的變量只能是全局或者整個函數(shù)塊的。換句話,塊級 == { }
let 聲明的變量只是在其聲明的塊或者子塊中可用,這一點,與var相似。二者的主要區(qū)別在于var聲明的變量的作用域是整個封閉函數(shù),而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 }
【推薦學(xué)習(xí):javascript高級教程】