<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          ES6中let變量的特點,使用let聲明總匯

          時間:?2017-12-28閱讀:?2588標簽:?ES6

          ES6中let變量的特點

          1.在ES6之前是沒有塊級作用域的,let聲明變量存在塊級作用域,只在它所在的代碼塊有效
          2.let不能先使用再聲明
          3.暫時性死區,在代碼塊內使用let命令聲明變量之前,該變量都是不可用的
          4.不允許重復聲明,在相同作用域內,重復聲明同一個變量。


          1、存在塊級作用域  

          在不使用let要實現塊級作用域,通常借助立即執行匿名函數來實現 :

          (function(){
            var a= 1;
          }());
          console.log(a); //出錯,not defined

          如果使用Let,在{}就可以生效:

          {
            let a = 1;
          }
          console.log(a); //出錯 not defined


          2、let不能先使用再聲明

          console.log(a); //出錯,Uncaught ReferenceError: a is not defined
          console.log(b);//undefined
          let a = 1;
          var b=1;

          在這個語句塊中,在變量聲明之前引用這個變量會導致一個 ReferenceError的結果。所以let不能先使用在聲明


          3、暫時性死區 

          在塊級作用域內,若存在用let命令聲明的變量,則所在區塊對該變量形成封閉作用域,也就是該變量無視外部的同名變量。而又因為不存在變量提升,所以在該區塊中,不能在聲明前使用該變量。

          var a  = 1;
          if(true){
            a = 2; //出錯 not defined
            let a; 
          }

          對比var

          var a = 1;
          if(true){
            a = 2; //var允許重復聲明,而且變量提升,故a=2正常賦值
          var a;
          }


           4.不允許重復調用

          相同作用域內重復聲明同一個變量,也包括不能和var,const變量名重復

          let a = 1;
          let a = 1; //出錯 let不可重復聲明
          
          var b = 1;
          let b = 1; //出錯 let不可重復聲明
          
          const c = 1;
          let c = 1; //出錯 let不可重復聲明


           

          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/288

          24個常用的es6方法

          本文主要介紹 24 中 es6 方法,這些方法都挺實用的,本本請記好,時不時翻出來看看。如何檢查元素是否具有指定的類?頁面DOM里的每個節點上都有一個classList對象,程序員可以使用里面的方法新增、刪除、修改節點上的CSS類。

          javascript es6是什么?

          ES6就是ECMAScript6是新版本JavaScript語言的標準。已經在2015年6月正式發布了。Mozilla公司將在這個標準的基礎上,推出JavaScript 2.0。ECMAScript6在保證向下兼容的前提下

          ES6 Promise用法詳解

          Promise是一個構造函數,接受一個參數(Function),并且該參數接受兩個參數resolve和reject(分別表示異步操作執行成功后的回調函數、執行失敗后的回調函數)

          commonjs 與 es6相關Module語法的區別

          export 在接口名字與模塊內部的變量之間建立了一一對應的關系,export輸出的接口; export的寫法,除了像上面這樣,還有另外一種。export命令除了輸出變量,還可以輸出函數或類(class)。

          ES6箭頭函數(Arrow Functions)

          箭頭函數中的 this 指向的是定義時的對象,而不是使用時的對象;由于 箭頭函數沒有自己的this指針,通過 call() 或 apply() 方法調用一個函數時,只能傳遞參數,他們的第一個參數會被忽略

          es6 class

          構造函數的prototype屬性,在 ES6 的“類”上面繼續存在。事實上,類的所有方法都定義在類的prototype屬性上面。

          es6之迭代器

          迭代器是被設計專用于迭代的對象,帶有特定接口。所有的迭代器對象都擁有 next() 方法,會返回一個結果對象。該結果對象有兩個屬性:對應下一個值的 value ,以及一個布爾類型的 done

          ES6 - let、const、var的區別

          為了使JavaScript語言可以用來編寫復雜的大型應用程序,成為企業級開發語言,ECMAScript 6.0(簡稱ES6)在標準中添加了很多新的特性。我們將用幾篇文章總結一下ES6標準中一些常用的新特性。本片文章主要講解ES6中的let、const命令,并區分其與var命令的區別。

          ES6新的變量聲明方式

          在ES6之前,JavaScript是沒有塊級作用域的,如果在塊內使用var聲明一個變量,它在代碼塊外面仍舊是可見的。ES6規范給開發者帶來了塊級作用域,let和const都添加了塊級作用域,使得JS更嚴謹和規范。

          es6數據變更同步到視圖層

          數據變更同步到視圖層有一個很重要的東西就是Proxy,Proxy的作用就是可以隱藏真正的對象,而用戶去修改它的代理對象.Proxy可以監聽數據的變化,例如

          內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權或違規,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网