嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片

ES6中的let和const和解構賦值

2021-3-24    前端達人

ES6中的let和const和解構賦值

什么是ES6?

ES6, 全稱 ECMAScript 6.0 ,是 JavaScript 的下一個版本標準,2015.06 發版。



為什么要使用ES6?

每一次標準的誕生都意味著語言的完善,功能的加強。js語言本身也有一些令人不滿的地方



1.變量提升特性增加了程序運行的不可預測性 。



變量提升可以簡單看以下代碼了解下:



console.log(a);

var a=1;

//console.log(a)會輸出undefined



這段代碼也可以這樣表示



var a;

console.log(a);

a=10;

//依舊輸出undefined



這就是變量提升!



2.語法過于松散,實現相同的功能,不同的人可以會寫出不同的代碼,閱讀性較低。



所以:ES6 ,目標是使JavaScript語言可以用來編寫復雜的大型應用程序,成為企業級開發語言。我們沒有理由不去學習ES6。



let關鍵字

ES6中新增的用于聲明變量的關鍵字。主要是替代var。



特征:1.let聲明的變量只在所處的塊級有效,具有塊級作用域! 在ES6之前JS只有全局作用域和局部作用域。



塊級作用域:通俗來講就是在一對大括號中產生的作用域,塊級作用域中的變量只能在大括號中訪問,在大括號外面是訪問不到的。



可以看以下代碼:



                if(true){

                let a=10;

                console.log(a);//輸出10

                }

                console.log(a);//報錯提示a沒有定義



                {

                    let b=10;

                    console.log(b);//輸出10

                }

                console.log(b);//報錯提示b沒有定義



              if(true){

              let c=20;

              console.log(c)//輸出20

              if(true){

                 let d=30;

                 console.log(c)//輸出 20

              }

              console.log(d);//報錯d沒有定義

            }



在for循環中也起到作用,根據不同的需求選擇let和var!

例如:



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

                   console.log(i) //輸出10

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

                   console.log(j) //報錯 j沒有定義



好處:在業務邏輯比較復雜的時候,可以放在內層變量覆蓋外層變量!



2.存在let 一開始就會形成封閉的作用域 使用let命名聲明變量前 ,變量不可用,必須先聲明后使用,不存在變量提升

例如:



               if(true){

                console.log(temp);//報錯

                let temp=1;

               }`



3.let 不允許重復聲明 在一個作用域內。



例如:



                if(true){

                let temp;

                console.log(temp);//報錯Identifier 'temp' has already been declared

                let temp=1;

                }



               if(true){

                var temp=10;

                let temp=5;

                console.log(temp);//報錯 錯誤和上面一致

               }



但是不在一個作用域內可以 例如:



              {

                let x=10;

                console.log(x);//輸出10

            }



            {

                let x=5;

                console.log(5);//輸出5

            }



const關鍵字

const一般用來聲明常量,聲明一個只讀的常量。



特征:1.一旦聲明其值不能改變必須立即初始化

例如:



 const a; //這樣什聲明會直接報錯!!!

1

這樣聲明沒有初始化會直接報錯!



2.對于對象:存的不是對象的本身, 而是對象的引用, 引用地址 ,地址不變, 對象可拓展!

例如:



           const foo={y:10};

           foo.x=100;

           console.log(foo.x);//輸出100

1

2

3

對象可以擴展



但是對象不能改變

例如:foo={n:1000}; 會報錯!



作用域:



  var v1=100;

    function f1(){

        console.log(v1,v2); //undefined   no defined 

        var v1=110;

        let v2=200;

        function f2(){

            let v3=300;

            console.log(v1,v2,v3);//110 200 300

        }

        f2();

        console.log(v1,v2,v3);// 110 200 no defined 

    }

    f1();

    console.log(v1,v2,v3);// 100 no defined no defined



可以向外面作用域找 不可以向里面作用域找 內層變量可能會覆蓋外層變量



let和var的本質區別:瀏覽器的頂層對象為window Node的為global,var定義的變量會關聯到頂層對象中,let和const不會!

例如:



         var a =100;

        console.log(window.a); // 100

         let b=100;

        console.log(window.b); //undefined

1

2

3

4

如何選擇const和let:數據需要變化用let 數據不需要變化用const



解構賦值:ES6中允許從數組中提值,按照對應位置,對變量賦值,對象也可以實現解構!

例如:

 {
    let a,b,c;
    [a,b]=[1,2];
    console.log(a,b,c); //輸出 1 2 undefined
}

{
    let a,b,c;
    [a,b,...c]=[1,2,3,4,5,6];
    console.log(a);//輸出1
    console.log(b);//輸出2
    console.log(c);//輸出[3,4,5,6]
}
{
    let a,b,c;
    [a,b,c=3]=[1,2];
    console.log(a,b,c);//輸出1 2 3
}
{
    let a,b;
    [a,b]=[1,2];
    [a,b]=[b,a]
    console.log(a,b);//輸出 2 1
}
{
    let a,b;
    ({a,b}={a:1,b:2})
    console.log(a,b);//輸出 1  2
}
{
    function fun(){
        return [1,2,3,4,5,6]
    };
    let a,b;
    [a,,,,b]=fun();
    console.log(a,b);//輸出1 5
}
{
    let o={p:42,q:true};
    let {p,q}=o;
    console.log(p,q);//輸出 42 true
}
{
    let {a=10,b=5}={a:3};
    console.log(a,b);//輸出 3 5
}

{
    let metaData={
        title:'abc',
        test:[{
            title:'test',
            desc:'description'
        }]
    }
    let {title:esTitle,test:[{title:cnTitle}]}=metaData;
    console.log(esTitle,cnTitle);//輸出abc test
}

解構賦值表達式右邊的部分表示解構的源;解構表達式左邊的部分表示解構的目標,如果左右兩邊對比成功就返回右邊的值,如果沒有對比成功就會undefined返回原來的值

除此之外還可以返回一些函數和方法


轉自:csdn 作者:勤快的基佬

藍藍設計www.sdgs6788.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://www.sdgs6788.com

存檔

嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片
<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 亚洲国产欧美久久| 欧美韩日一区| 欧美高潮视频| 久久夜色精品亚洲噜噜国产mv | 欧美一区二区精品久久911| 国产精品99久久久久久久女警| 亚洲精品日韩久久| 亚洲欧美春色| 久久久精品999| 欧美777四色影视在线| 欧美大尺度在线| 亚洲精品无人区| 亚洲欧美中日韩| 久久三级福利| 欧美日韩中文字幕在线| 欧美影院成年免费版| 久久精品国产久精国产爱| 久久精品色图| 欧美日韩三级一区二区| 国产性天天综合网| 91久久国产综合久久91精品网站| 99视频在线观看一区三区| 欧美一区亚洲一区| 亚洲国产精品成人| 一片黄亚洲嫩模| 久久精精品视频| 欧美日韩免费| 尤物精品在线| 性色av一区二区三区在线观看| 牛牛影视久久网| 亚洲免费视频一区二区| 蜜桃久久精品一区二区| 国产精品永久免费| 在线中文字幕不卡| 欧美激情精品久久久久久变态| 99视频精品全国免费| 久久免费的精品国产v∧| 欧美新色视频| 亚洲国产精品久久久| 久久av老司机精品网站导航| 亚洲精品色图| 欧美成人午夜| 亚洲第一福利在线观看| 久久精品国产99精品国产亚洲性色| 亚洲精品国产欧美| 你懂的视频一区二区| 国产在线欧美| 久久精品国产第一区二区三区最新章节| 亚洲国产激情| 免费观看日韩| 亚洲第一在线视频| 美日韩精品免费观看视频| 午夜精品一区二区三区在线播放| 欧美日韩黄色一区二区| 亚洲美女在线观看| 亚洲欧洲精品一区| 欧美激情成人在线| 亚洲乱码久久| 亚洲伦理中文字幕| 欧美另类一区| 一区二区精品国产| 亚洲乱码国产乱码精品精| 欧美高清视频| 亚洲精品视频在线看| 欧美成熟视频| 牛夜精品久久久久久久99黑人 | 亚洲精品一区在线观看香蕉| 亚洲高清不卡一区| 国产日韩精品在线播放| 性做久久久久久久久| 在线综合亚洲| 国产精品视频一区二区高潮| 亚洲综合色自拍一区| 亚洲香蕉在线观看| 国产一区亚洲一区| 免费久久久一本精品久久区| 久久久久久久一区二区三区| 亚洲高清久久| 亚洲国产精品一区制服丝袜| 欧美日韩网址| 欧美一区激情视频在线观看| 久久精品视频va| 亚洲精品日韩在线| 亚洲天堂激情| 国内自拍一区| 亚洲国产精品一区二区第一页| 欧美日韩精品免费在线观看视频| 中国成人黄色视屏| 欧美一级视频免费在线观看| 在线日本成人| 一区二区日本视频| 国产一区二区精品在线观看| 亚洲激情二区| 国产一区二区日韩| 亚洲黄网站黄| 国产欧美日韩在线 | 麻豆精品在线观看| 欧美激情免费观看| 欧美在线视频观看| 麻豆精品网站| 欧美一级大片在线免费观看| 久久精品人人做人人综合 | 欧美激情在线观看| 国产精品国产三级欧美二区| 女人色偷偷aa久久天堂| 欧美视频在线一区| 亚洲成色www久久网站| 国产精品男人爽免费视频1| 欧美高清在线一区二区| 国产精品毛片a∨一区二区三区| 美女精品网站| 国产欧美日韩精品丝袜高跟鞋| 欧美国产免费| 国产私拍一区| 夜夜精品视频| 亚洲精品123区| 欧美一级在线亚洲天堂| 亚洲一区二区三区四区在线观看| 噜噜噜在线观看免费视频日韩 | 亚洲欧美日本日韩| 葵司免费一区二区三区四区五区| 性久久久久久| 欧美激情影音先锋| 久久综合久久综合九色| 国产精品美女视频网站| 91久久极品少妇xxxxⅹ软件| 狠狠色狠狠色综合日日91app| 亚洲一区二区黄| 亚洲图片激情小说| 欧美经典一区二区三区| 欧美国产大片| 亚洲欧美日韩一区二区三区在线| 一本色道88久久加勒比精品| 欧美黄色aa电影| 亚洲电影自拍| 亚洲欧洲日本mm| 欧美电影在线观看| 91久久精品国产91性色 | 性欧美超级视频| 国产精品久久9| 一区二区三欧美| 亚洲视频高清| 国产精品人人爽人人做我的可爱| 亚洲午夜女主播在线直播| 亚洲影音先锋| 国产欧美日韩不卡| 久久国产精品一区二区三区四区| 久久久久这里只有精品| 黄色成人在线网址| 免费观看在线综合| 最新国产の精品合集bt伙计| 日韩亚洲欧美一区| 欧美特黄视频| 中国女人久久久| 欧美与黑人午夜性猛交久久久| 国产欧美日韩在线| 久久久久一区二区三区| 亚洲国产毛片完整版| 夜夜嗨av一区二区三区四区| 欧美视频免费在线观看| 亚洲综合电影| 免费视频一区| 一本久久综合| 国产女人aaa级久久久级| 性久久久久久久久久久久| 久久人人97超碰精品888| 亚洲国产高清一区二区三区| 欧美精品久久久久久| 亚洲午夜未删减在线观看| 久久国内精品视频| 亚洲第一久久影院| 欧美日韩综合视频| 亚洲欧美另类久久久精品2019| 麻豆精品网站| 亚洲夜晚福利在线观看| 激情五月综合色婷婷一区二区| 欧美激情在线观看| 亚洲欧美精品一区| 欧美wwwwww| 欧美在线三区| 一本色道久久88综合日韩精品| 国产日韩欧美二区| 欧美成人自拍视频| 欧美在线啊v| 宅男噜噜噜66一区二区66| 欧美二区在线播放| 久久精品成人一区二区三区蜜臀 | 亚洲欧洲一区二区天堂久久| 午夜免费久久久久| 亚洲精品日韩一| 国产亚洲在线观看| 欧美日韩一区高清| 美女爽到呻吟久久久久| 亚洲欧美日韩国产中文| 亚洲精品在线观看免费| 欧美电影免费观看高清完整版| 午夜精品福利电影| 一区二区冒白浆视频| 1204国产成人精品视频| 国产视频不卡|