溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

jquery中關(guān)鍵字let指的是什么

發(fā)布時(shí)間:2022-07-28 16:34:51 來源:億速云 閱讀:238 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“jquery中關(guān)鍵字let指的是什么”,在日常操作中,相信很多人在jquery中關(guān)鍵字let指的是什么問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”jquery中關(guān)鍵字let指的是什么”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

在jquery中,let是一個(gè)聲明變量的關(guān)鍵字,let關(guān)鍵字允許聲明一個(gè)作用域被限制在塊作用域中的變量、語句或者表達(dá)式。let聲明的變量不會(huì)在作用域中被提升,它是在編譯時(shí)才初始化;let不會(huì)在全局聲明時(shí)(在最頂層的作用域)創(chuàng)建window對(duì)象的屬性。

jquery中關(guān)鍵字let指的是什么

本教程操作環(huán)境:windows7系統(tǒng)、jquery3.6.0版本、Dell G3電腦。

在jquery中,let是一個(gè)聲明變量的關(guān)鍵字。

let關(guān)鍵字聲明一個(gè)塊級(jí)作用域的局部變量,并可以初始化為一個(gè)值(可選)。語法:

let name1 [= value1] [, name2 [= value2]] [, ..., nameN [= valueN];

參數(shù)

  • nameN:要聲明的一個(gè)或多個(gè)變量的名稱,必須是合法的標(biāo)識(shí)符。

  • valueN:可選,規(guī)定變量的初始值,可以是任意合法的表達(dá)式。

示例:

let x = 1;

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

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

console.log(x);
// expected output: 1

jquery中關(guān)鍵字let指的是什么

說明:

let 允許你聲明一個(gè)作用域被限制在塊作用域中的變量、語句或者表達(dá)式。與 var 關(guān)鍵字不同的是,var 聲明的變量作用域是全局或者整個(gè)函數(shù)塊的。 var 和 let 的另一個(gè)重要區(qū)別,let 聲明的變量不會(huì)在作用域中被提升,它是在編譯時(shí)才初始化(參考下面的暫時(shí)性死區(qū))。

就像 const 一樣,let 不會(huì)在全局聲明時(shí)(在最頂層的作用域)創(chuàng)建 window 對(duì)象的屬性。

可以從這里了解我們?yōu)槭裁词褂?let。

通過在使用 let 變量的作用域頂部聲明它們,可以避免很多問題,但這樣做可能會(huì)影響可讀性。

與 var 不同的是,let 只是開始聲明,而非一個(gè)完整的表達(dá)式。這意味著你不能將單獨(dú)的 let 聲明作為一個(gè)代碼塊的主體(這是有道理的,因?yàn)槁暶鞯淖兞繜o法被訪問)。

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

作用域規(guī)則

let 聲明的變量作用域只在其聲明的塊或子塊內(nèi)部,這一點(diǎn),與 var 相似。二者之間最主要的區(qū)別在于 var 聲明的變量的作用域是整個(gè)封閉函數(shù)。

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中關(guān)鍵字let指的是什么

在全局作用域中,let 和 var 不一樣,它不會(huì)在全局對(duì)象上創(chuàng)建屬性。例如:

var x = 'global';
let y = 'global';
console.log(this.x); // "global"
console.log(this.y); // undefined

jquery中關(guān)鍵字let指的是什么

重復(fù)聲明

在同一個(gè)函數(shù)或塊作用域中重復(fù)聲明同一個(gè)變量會(huì)拋出 SyntaxError。

if (x) {
  let foo;
  let foo; // SyntaxError thrown.
}

在 switch 語句中也會(huì)觸發(fā)這個(gè)錯(cuò)誤,因?yàn)樗峭粋€(gè)塊作用域。

let x = 1;

switch(x) {
  case 0:
    let foo;
    break;
  case 1:
    let foo; // SyntaxError for redeclaration.
    break;
}

jquery中關(guān)鍵字let指的是什么

然而,需要特別指出的是,一個(gè)嵌套在 case 子句中的塊會(huì)創(chuàng)建一個(gè)新的塊作用域的詞法環(huán)境,就不會(huì)產(chǎn)生上訴重復(fù)聲明的錯(cuò)誤。

let x = 1;

switch(x) {
  case 0: {
    let foo;
    break;
  }
  case 1: {
    let foo;
    break;
  }
}

到此,關(guān)于“jquery中關(guān)鍵字let指的是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI