<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
        主站蜘蛛池模板: 国产成人高清亚洲| 亚洲高清视频在线播放| 亚洲人成电影网站国产精品 | 日韩精品无码区免费专区| 免费国产高清视频| 亚洲综合区图片小说区| 又大又硬又粗又黄的视频免费看| 五月亭亭免费高清在线| 久久久久亚洲精品中文字幕| 亚洲色欲色欲www| 光棍天堂免费手机观看在线观看 | 久久久久亚洲av无码专区喷水 | 亚洲 国产 图片| 亚洲一级大黄大色毛片| 国产免费一区二区三区免费视频 | 又大又硬又爽又粗又快的视频免费| 亚洲成AV人网址| 亚洲另类无码专区丝袜| 57pao国产成永久免费视频| 亚洲成年人免费网站| 久操视频免费观看| 亚洲色无码专区在线观看| 特级做a爰片毛片免费看| 久久久久亚洲AV成人网| 香港a毛片免费观看| 国产精品亚洲片在线| fc2免费人成在线视频| 吃奶摸下高潮60分钟免费视频 | 久久aa毛片免费播放嗯啊| 78成人精品电影在线播放日韩精品电影一区亚洲 | 91av免费在线视频| 亚洲男人第一av网站| 免费精品久久天干天干| 亚洲成人动漫在线观看| 国产一级高清视频免费看| 国产亚洲欧美在线观看| 国产人妖ts在线观看免费视频| 久久性生大片免费观看性| 亚洲无圣光一区二区| 亚洲av日韩片在线观看| 无码免费一区二区三区免费播放|