91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ES6中let和const命令有什么用

發布時間:2021-08-18 14:48:21 來源:億速云 閱讀:118 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關ES6中let和const命令有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

前言

在javascript中,我們都知道使用var來聲明變量。javascript是函數級作用域,函數內可以訪問函數外的變量,函數外不能訪問函數內的變量。

函數級作用域會導致一些問題就是某些代碼塊內的變量會在全局范圍內有效,這我們是非常熟悉的:

for (var i = 0; i < 10; i++) {
 console.log(i); // 0,1,2...,9
}
console.log(i); //10

if(true){
 var s = 20;
}
console.log(s); //20

在es6中增加了let(變量)和const(常量)來聲明變量,使用的是塊級作用域,變量聲明只在代碼塊內有效,下面來看看詳細的介紹:

let命令

ES6新增了let命令用于聲明變量。它的用處和var很相似,只不過let所聲明的變量只在let命令所在的代碼塊內有效。

看下下面代碼:

 {
  let a = 10;
  var b = 9;
 }
 alert( a ); // ReferenceError: a is not defined
 alert( b ); //9

再看看下面代碼:

var a = [];
 for(var i = 0; i < 10; i++) {
  var c = i;
  a[i] = function() {
   console.log( c );
  };
 }
 a[6](); //9

而如果使用let聲明的話,最后輸出的值是“6”。代碼如下:

var a = [];
for (var i = 0; i < 10; i++) {
  let c = i;
  a[i] = function() {
   console.log( c );
  };
}
a[6](); //6

此外,let聲明的變量不會提升。看下下面的代碼片段。

 function do_someting() {
  console.log( a ); //ReferenceError
  let a = 2;
 }

最后,let不允許在相同的作用域內,重復聲明同一個變量。

 // 報錯
 {
  let a = 10;
  var a = 1;
 }

 // 報錯
 {
  let a = 10;
  let a = 1;
 }

let實際上是JavaScript增加的塊級作用域。

 function foo() {
  let n = 6; 
  if (true) {
   let n = 10;
  }
  console.log( n ); //6
 }

上面代碼有兩個代碼塊,都聲明了n變量,運行后輸出的是6。這表明外層代碼塊不受內層代碼塊的影響。如果,改成使用var定義變量n的話,最后輸出的就是10.

另外,ES6還規定,函數本身的作用域在其所在的代碼塊作用域之內。

 function f() { console.log("I am outside"); }
 (function () {
  if (false) {
   //重復聲明一次函數f
   function f() {
    console.log("I am inside");
   }
  }

  f();
 }());

上面的代碼片段,在ES5中運行會得到“Iam inside”, 但是在ES6中運行,則會得到“Iam outside”。

const命令

const是用來聲明常量的。一旦聲明,其值就不能改變。

 const PI = 3.1415;
 console.log( PI ); //PI

 PI = 3;
 console.log( PI ); //3.1415

 const PI = 3.1;
 console.log( PI ); //3.1415

有一點需要我們注意的是,對常量的重復定義不會報錯,它只會默默的失敗。

const的作用域與let命令相同:即只在聲明所在的塊級作用域內有效。

 if(condition) {
  const MAX = 5;
 }

 // 常量MAX在此處不可見(或者說不可得)

此外,const常量也不可重復聲明。

 var message = "Hello!";
 let age = 25;

 //以下兩行都會報錯
 const message = "Goodbye!";
 const age = 30;

關于“ES6中let和const命令有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌鲁木齐市| 左云县| 昌宁县| 晋州市| 白朗县| 井冈山市| 蒙自县| 册亨县| 新营市| 同心县| 元阳县| 莱芜市| 龙岩市| 绥芬河市| 高雄县| 兴山县| 桦甸市| 舟曲县| 保靖县| 大名县| 丹江口市| 枣强县| 利川市| 墨竹工卡县| 云浮市| 阿勒泰市| 鄂托克前旗| 红原县| 两当县| 宁晋县| 巴林左旗| 海伦市| 佛学| 延寿县| 旅游| 三台县| 邹平县| 桐乡市| 额尔古纳市| 桃园县| 海晏县|