<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        詳解js中let與var聲明變量的區別

        來源:懂視網 責編:小采 時間:2020-11-27 21:56:40
        文檔

        詳解js中let與var聲明變量的區別

        詳解js中let與var聲明變量的區別:ES6 新增了let命令,用來聲明局部變量,所聲明的變量,只在let命令所在的代碼塊內有效,而且有暫時性死區的約束。 1.ES6可以用let定義塊級作用域變量 代碼如下: function f1(){ { var a = 10; let b = 20; } console.log(a); /
        推薦度:
        導讀詳解js中let與var聲明變量的區別:ES6 新增了let命令,用來聲明局部變量,所聲明的變量,只在let命令所在的代碼塊內有效,而且有暫時性死區的約束。 1.ES6可以用let定義塊級作用域變量 代碼如下: function f1(){ { var a = 10; let b = 20; } console.log(a); /

        ES6 新增了let命令,用來聲明局部變量,所聲明的變量,只在let命令所在的代碼塊內有效,而且有暫時性死區的約束。

        1.ES6可以用let定義塊級作用域變量

        代碼如下:

        function f1(){
         {
         var a = 10;
         let b = 20;
         }
         console.log(a); // 10
         console.log(b); // Uncaught ReferenceError: b is not defined
         }
         f1();
        

        說明:在ES6之前只有全局作用域和函數作用域,在ES6中新增了塊級作用域,用{}花括號表示。var 聲明的變量a在花括號外面仍然是會起作用的,但是let聲明的變量b只有在花括號里面才會起作用的,在塊級作用域內。

        2.let配合for循環的獨特應用

        代碼如下:

         function f2(){
         var i = 5;
         for(var i=0;i<=10;i++){
        
         }
         console.log(i); // 11
        
         var j = 5;
         for(let j=0;j<=10;j++){
        
         }
         console.log(j); // 5
        
         }
         f2();
        

        說明:let非常適合用于for循環內部的塊級作用域,在for循環當中,每一次的執行都是一個全新的獨立的塊級作用域。使用let聲明的變量在for循環當中不會受到循環體外面的影響,不會受到變量污染,不會發生改變。對于var聲明的變量i會受到for循環的影響,受到變量污染,而let聲明的變量j不會受到for循環的影響。

        3.let沒有變量提升與暫時性死區

        代碼如下:

         function f3(){
        
         // 變量提升
         function f31(){
         console.log(a); // undefined
         var a = 10;
        
         console.log(b); // Uncaught ReferenceError: b is not defined
         let b = 10;
         }
         f31();
        

        說明:在ES6中,如果區塊中存在let和const命令,這個區塊對這些命令聲明的變量,從一開始就形成了封閉作用域。凡是在聲明之前就使用這些變量,就會報錯。暫時性死區(TDZ):在代碼塊內,使用let命令聲明變量之前,該變量都是不可用的。在f31函數中,用var聲明的變量a發生了變量提升,打印出的值為undefined 未定義,而用let聲明的變量b報錯Uncaught ReferenceError,不會發生變量提升。在f32函數中,用使用let命令聲明的變量a之前,都屬于變量a的暫時性死區,形成封閉作用域,該變量都是不可用的,會報錯,Uncaught ReferenceError: a is not defined。在let聲明變量后,它是一個未定義的變量。當再給變量a進行賦值操作以后,它的值可以正常打印出來。

        4.let變量不能重復聲明

        代碼如下:

        function f4(){
         let a = 10;
         let a = 20;
         console.log(a); // Uncaught SyntaxError: Identifier 'a' has already been declared
        
         let b = 10;
         var b = 20;
         console.log(b); // Uncaught SyntaxError: Identifier 'b' has already been declared
        
         }
         f4();
        

        說明:let不允許在相同作用域內,重復聲明同一個變量,否則報錯。在函數f4中,無論是用兩個let聲明同一個變量a,還是一個let聲明變量b和一個var聲明變量b,都是會報錯的,Uncaught SyntaxError: Identifier ‘a' has already been declared 和 Uncaught SyntaxError: Identifier ‘b' has already been declared , 所以不能夠重復聲明同一個變量。

        以上所述是小編給大家介紹的let與var聲明變量區別詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        詳解js中let與var聲明變量的區別

        詳解js中let與var聲明變量的區別:ES6 新增了let命令,用來聲明局部變量,所聲明的變量,只在let命令所在的代碼塊內有效,而且有暫時性死區的約束。 1.ES6可以用let定義塊級作用域變量 代碼如下: function f1(){ { var a = 10; let b = 20; } console.log(a); /
        推薦度:
        標簽: 區別 va 變量
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 中文字幕免费在线视频| 中文字幕免费观看全部电影| 18禁黄网站禁片免费观看不卡| 亚洲色自偷自拍另类小说| 成人国产网站v片免费观看| 又爽又黄无遮挡高清免费视频| 精品成人一区二区三区免费视频| 成人亚洲综合天堂| v片免费在线观看| 亚洲精品国产精品乱码在线观看 | 黄床大片免费30分钟国产精品| 亚洲欧洲日产国码高潮αv| xxxxx做受大片在线观看免费 | 亚洲av午夜福利精品一区人妖| 久久免费观看国产精品| 亚洲国产精品美女| 白白国产永久免费视频| 精品女同一区二区三区免费播放 | 成人在线免费视频| 亚洲国产精品SSS在线观看AV| 最近最新高清免费中文字幕| 亚洲香蕉在线观看| 亚洲?V无码成人精品区日韩| 免费无码又爽又刺激网站| 日韩亚洲Av人人夜夜澡人人爽| 男男AV纯肉无码免费播放无码| 国产精品观看在线亚洲人成网| 国产精品亚洲mnbav网站| 91免费国产精品| 日本亚洲欧美色视频在线播放| 国产综合精品久久亚洲| 91麻豆国产免费观看| 国产精品亚洲综合网站| 亚洲国产老鸭窝一区二区三区| 成人免费无码大片A毛片抽搐色欲| 免费国产a理论片| 亚洲熟妇av一区| 亚洲高清无码综合性爱视频| 久久久久久久99精品免费| 成人婷婷网色偷偷亚洲男人的天堂| 亚洲国产精品成人精品无码区在线|