首頁 > web前端 > 前端問答 > jquery中關鍵字let的意思是什麼

jquery中關鍵字let的意思是什麼

青灯夜游
發布: 2022-07-28 16:18:02
原創
2675 人瀏覽過

在jquery中,let是一個宣告變數的關鍵字,let關鍵字允許宣告一個作用域被限制在區塊作用域中的變數、語句或表達式。 let宣告的變數不會在作用域中被提升,它是在編譯時才初始化;let不會在全域宣告時(在最頂層的作用域)建立window物件的屬性。

jquery中關鍵字let的意思是什麼

本教學操作環境:windows7系統、jquery3.6.0版本、Dell G3電腦。

在jquery中,let是一個宣告變數的關鍵字。

let關鍵字宣告一個區塊級作用域的局部變量,並且可以初始化為一個值(可選)。語法:

let name1 [= value1] [, name2 [= value2]] [, ..., nameN [= valueN];
登入後複製

參數

  • nameN:要宣告的一個或多個變數的名稱,必須是合法的識別碼。

  • valueN:可選,規定變數的初始值,可以是任意合法的表達式。

範例:

let x = 1;

if (x === 1) {
  let x = 2;

  console.log(x);
  // expected output: 2
}

console.log(x);
// expected output: 1
登入後複製

jquery中關鍵字let的意思是什麼

#說明:

let 允許你宣告一個作用域被限制在區塊作用域中的變數、語句或表達式。與 var 關鍵字不同的是,var 宣告的變數作用域是全域或整個函數區塊的。 var 和 let 的另一個重要區別,let 宣告的變數不會在作用域中被提升,它是在編譯時才初始化(參考下面的暫時性死區)。

就像 const 一樣,let 不會在全域宣告時(在最頂層的作用域)建立 window 物件的屬性。

可以從這裡了解我們為什麼要使用 let。

透過在使用 let 變數的作用域頂端宣告它們,可以避免很多問題,但這樣做可能會影響可讀性。

與 var 不同的是,let 只是開始聲明,而非一個完整的表達式。這意味著你不能將單獨的 let 宣告當作一個程式碼區塊的主體(這是有道理的,因為宣告的變數無法被存取)。

if (true) let a = 1; // SyntaxError: Lexical declaration cannot appear in a single-statement context
登入後複製

作用域規則

let 宣告的變數作用域只在其宣告的區塊或子區塊內部,這一點,與 var 相似。二者之間最主要的差異在於 var 宣告的變數的作用域是整個封閉函數。

function varTest() {
  var x = 1;
  {
    var x = 2; // same variable!
    console.log(x); // 2
  }
  console.log(x); // 2}function letTest() {
  let x = 1;
  {
    let x = 2; // different variable
    console.log(x); // 2
  }
  console.log(x); // 1}
  
  
letTest();
varTest();
登入後複製

jquery中關鍵字let的意思是什麼

在全域作用域中,let 和 var 不一樣,它不會在全域物件上建立屬性。例如:

var x = 'global';
let y = 'global';
console.log(this.x); // "global"
console.log(this.y); // undefined
登入後複製

jquery中關鍵字let的意思是什麼

重複宣告

在同一個函數或區塊作用域中重複宣告同一個變數會拋出SyntaxError 。

if (x) {
  let foo;
  let foo; // SyntaxError thrown.
}
登入後複製

在 switch 語句中也會觸發這個錯誤,因為它是同一個區塊作用域。

let x = 1;

switch(x) {
  case 0:
    let foo;
    break;
  case 1:
    let foo; // SyntaxError for redeclaration.
    break;
}
登入後複製

jquery中關鍵字let的意思是什麼

然而,需要特別指出的是,嵌套在case 子句中的區塊會建立一個新的區塊作用域的詞法環境,就不會產生上訴重複聲明的錯誤。

let x = 1;

switch(x) {
  case 0: {
    let foo;
    break;
  }
  case 1: {
    let foo;
    break;
  }
}
登入後複製

【推薦學習:jQuery影片教學web前端影片

以上是jquery中關鍵字let的意思是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板