千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > web前端培訓(xùn)分享:JavaScript中l(wèi)et關(guān)鍵詞聲明變量的好處

web前端培訓(xùn)分享:JavaScript中l(wèi)et關(guān)鍵詞聲明變量的好處

來源:千鋒教育
發(fā)布人:qyf
時(shí)間: 2022-01-20 17:54:00 1642672440

  web前端技術(shù)近幾年在互聯(lián)網(wǎng)行業(yè)可以說是非常剛需的,各大企業(yè)都是有這個(gè)崗位存在的,越來越多的人開始學(xué)習(xí)web前端技術(shù),進(jìn)軍互聯(lián)網(wǎng)行業(yè),那么本期小編就為大家介紹的web前端培訓(xùn)教程就是JavaScript中l(wèi)et關(guān)鍵詞聲明變量的好處,來看看下面的詳細(xì)介紹吧。

  web前端培訓(xùn)分享:JavaScript中l(wèi)et關(guān)鍵詞聲明變量的好處

  1. for循環(huán)索引值不會(huì)泄露

  如果在for循環(huán)中使用let關(guān)鍵詞聲明變量,索引值只會(huì)在循環(huán)體內(nèi)有效,循環(huán)結(jié)束后,索引值會(huì)被回收;

  如果在for循環(huán)中使用var關(guān)鍵詞聲明變量,索引值在循環(huán)結(jié)束后,索引值仍然可以訪問,所以在for循環(huán)中使用let關(guān)鍵字聲明變量時(shí)最合適的。

  如下面案例:

<script>
  for (var i = 0; i <= 10; i++) {

}
  console.log(i); // 輸出:11

for(let j = 0; j <= 10; j++){

}
  console.log(j); // ReferenceError: j is not defined
  </script>

1

  2. 可以避免變量提升導(dǎo)致變量覆蓋問題

<script>
  var name = 'zhang';
  function name_change() {
  console.log(name); // undefined
  if(false){
  var name = 'wang';
  }
  }
  name_change(); // undefined
  </script>

  上面代碼中,使用var關(guān)鍵字定義了全局變量name,在name_change()函數(shù)中輸出變量name,但是var關(guān)鍵字存在變量提升,在if代碼塊內(nèi)的變量name會(huì)提升至函數(shù)name_change()函數(shù)頂部,導(dǎo)致輸出的name覆蓋了外層的全局變量name,因此輸出“undefined”。

<script>
  var name = 'zhang';
  function name_change() {
  console.log(name); // zhang
  if(false){
  let name = 'wang';
  }
  }
  name_change(); // zhang
  </script>

  如果使用let定義if代碼塊兒內(nèi)的name,那么name變量只在if代碼塊塊內(nèi)有效,不會(huì)影響到全局變量name,所以能夠輸出“zhang”。

  3. 代替立即執(zhí)行函數(shù)IIFE

  立即執(zhí)行函數(shù)(Immediately-Invoked Function Expression,簡稱IIFE)的內(nèi)部是一個(gè)獨(dú)立的函數(shù)級作用域,使用IIFE的目的主要是避免污染當(dāng)前作用域內(nèi)的變量,而使用塊級作用域則可以直接避免這個(gè)問題。

  // IIFE 寫法

  (function () {

  var arg = ...;

  ...

  }());

  // 塊級作用域?qū)懛?/p>

  {

  let arg = ...;

  ...

  }

  以上就是為大家介紹的web前端培訓(xùn)教程了,希望上面的介紹能夠給大家?guī)韼椭缧枇私飧嗟?a href="http://madgrindclothing.com/page/html5.html" target="_blank">web前端培訓(xùn)班、課程、價(jià)格、試聽等信息,請您留下聯(lián)系方式,千鋒教育課程顧問會(huì)盡快聯(lián)系您,為您定制專屬課程,開始您的學(xué)習(xí)之旅。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
PHP數(shù)組具的特性有哪些?

一、有序集合PHP數(shù)組是一個(gè)有序的數(shù)據(jù)集合,它可以存儲多個(gè)值,并使用索引來訪問這些值。索引可以是數(shù)字或字符串,允許你以靈活的方式組織和訪...詳情>>

2023-10-13 23:46:55
C語言中定義與聲明的含義是什么?

一、定義的含義在C語言中,定義是指為變量、函數(shù)或類型分配存儲空間并指定其屬性和初始值的過程。定義的主要含義如下:分配存儲空間:定義一個(gè)...詳情>>

2023-10-13 23:32:41
APP開發(fā)中常用的開發(fā)語言都有什么?

一、JavaJava是一種廣泛使用的開發(fā)語言,尤其在Android應(yīng)用開發(fā)中得到了廣泛應(yīng)用。Java具有面向?qū)ο蟮奶匦裕梢詫?shí)現(xiàn)復(fù)雜的應(yīng)用邏輯和交互效果...詳情>>

2023-10-13 23:29:28
Python的自動(dòng)化測試框架有哪些?

一、unittestunittest是Python內(nèi)置的測試框架,它受到Java的JUnit框架的啟發(fā)。unittest提供了一個(gè)面向?qū)ο蟮木幊棠P?,允許開發(fā)人員編寫測試用...詳情>>

2023-10-13 23:06:20
Web前端開發(fā)工具有哪些?

一、代碼編輯器代碼編輯器是Web前端開發(fā)的基礎(chǔ)工具之一,用于編寫、編輯和修改計(jì)算機(jī)代碼。它通常支持多種編程語言,并提供了一些便捷的功能,...詳情>>

2023-10-13 22:58:11