什么是ES6?
ECMAScript 6(以下簡稱ES6)是JavaScript語言的下一代標準,已經在2015年6月正式發布了,Mozilla公司將在這個標準的基礎上,推出JavaScript 2.0,

為什么使用ES6?
每一次標準的誕生都意味著語言的完善,功能的加強,JavaScript語言本身也有一些令人不滿意的地方,
- ES6的目標,是使得JavaScript語言可以用來撰寫大型的復雜的應用程式,成為企業級開發語言,
- 變數提升特性增加了程式運行時的不可預測性
- 語法過于松散,實作相同的功能,不同的人可能會寫出不同的代碼
ES6的新增語法—let
let的三大特性:
1.用于宣告變數的的關鍵字,必須先宣告再使用
2.let宣告的變數具有塊級作用域
3.暫時性死區特性
下面我通過案例向童靴們決議:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>使用let關鍵字宣告變數</title>
</head>
<body>
<script>
//let關鍵字用于宣告變數的,使用let關鍵字宣告的變數具有塊級作用域
let num = 10;
console.log(num);
//錯誤使用let(let宣告變數只在所處于的塊級有效)
if (true) {
let nums = 100;
}
console.log(nums); //nums is not defined
</script>
</body>
</html>
瀏覽器控制器運行如下:

注意:var用于宣告全域變數,不具備塊級作用域
// 在一個大括號中
// 使用let關鍵字宣告的變數才具有塊級作用域,var關鍵字是不具備這個特點的
if(true) {
let a = 100;var b = 200;
}
console.log(a);
consoLe.log(b);
瀏覽器控制器運行如下:

// 防止回圈變數變成全域變數
for (let i = 0; i < 2; i++) {
}
console.log(i);// 瀏覽器控制器運行如右:i is not defined
注意:使用let關鍵字宣告的變數具有暫時性死區特性
//使用let關鍵字宣告的變數具有暫時性死區特性;
var num = 10;
if (true) {
consoLe.log(num);
let num = 20;
}
瀏覽器控制器運行如下:

最后附上所有代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>使用let關鍵字宣告變數</title>
</head>
<body>
<script>
//let關鍵字用于宣告變數的,使用let關鍵字宣告的變數具有塊級作用域
let num = 10;
console.log(num);
//錯誤使用let(let宣告變數只在所處于的塊級有效)
if (true) {
let nums = 100;
}
console.log(nums); //nums is not defined
// 在一個大括號中
// 使用let關鍵字宣告的變數才具有塊級作用域,var關鍵字是不具備這個特點的
if (true) {
let a = 100;
var b = 200;
}
console.log(b);
consoLe.log(a);
// 防止回圈變數變成全域變數
for (let i = 0; i < 2; i++) {
}
console.log(i);//i is not defined
//使用let關鍵字宣告的變數具有暫時性死區特性;
var num = 10;
if (true) {
consoLe.log(num);
let num = 20;
}
</script>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/347144.html
標籤:其他
下一篇:怎么查看每個網頁的記憶體問題
