99久久精品国产片-99久久精品国产免费-99久久精品国产麻豆-99久久精品国产国产毛片-99久久精品国产高清一区二区-99久久精品费精品国产一区二区

ES6中的let和const和解構(gòu)賦值

2021-3-24    前端達(dá)人

ES6中的let和const和解構(gòu)賦值

什么是ES6?

ES6, 全稱 ECMAScript 6.0 ,是 JavaScript 的下一個(gè)版本標(biāo)準(zhǔn),2015.06 發(fā)版。



為什么要使用ES6?

每一次標(biāo)準(zhǔn)的誕生都意味著語言的完善,功能的加強(qiáng)。js語言本身也有一些令人不滿的地方



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



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



console.log(a);

var a=1;

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



這段代碼也可以這樣表示



var a;

console.log(a);

a=10;

//依舊輸出undefined



這就是變量提升!



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



所以:ES6 ,目標(biāo)是使JavaScript語言可以用來編寫復(fù)雜的大型應(yīng)用程序,成為企業(yè)級開發(fā)語言。我們沒有理由不去學(xué)習(xí)ES6。



let關(guān)鍵字

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



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



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



可以看以下代碼:



                if(true){

                let a=10;

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

                }

                console.log(a);//報(bào)錯(cuò)提示a沒有定義



                {

                    let b=10;

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

                }

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



              if(true){

              let c=20;

              console.log(c)//輸出20

              if(true){

                 let d=30;

                 console.log(c)//輸出 20

              }

              console.log(d);//報(bào)錯(cuò)d沒有定義

            }



在for循環(huán)中也起到作用,根據(jù)不同的需求選擇let和var!

例如:



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

                   console.log(i) //輸出10

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

                   console.log(j) //報(bào)錯(cuò) j沒有定義



好處:在業(yè)務(wù)邏輯比較復(fù)雜的時(shí)候,可以放在內(nèi)層變量覆蓋外層變量!



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

例如:



               if(true){

                console.log(temp);//報(bào)錯(cuò)

                let temp=1;

               }`



3.let 不允許重復(fù)聲明 在一個(gè)作用域內(nèi)。



例如:



                if(true){

                let temp;

                console.log(temp);//報(bào)錯(cuò)Identifier 'temp' has already been declared

                let temp=1;

                }



               if(true){

                var temp=10;

                let temp=5;

                console.log(temp);//報(bào)錯(cuò) 錯(cuò)誤和上面一致

               }



但是不在一個(gè)作用域內(nèi)可以 例如:



              {

                let x=10;

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

            }



            {

                let x=5;

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

            }



const關(guān)鍵字

const一般用來聲明常量,聲明一個(gè)只讀的常量。



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

例如:



 const a; //這樣什聲明會直接報(bào)錯(cuò)!!!

1

這樣聲明沒有初始化會直接報(bào)錯(cuò)!



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

例如:



           const foo={y:10};

           foo.x=100;

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

1

2

3

對象可以擴(kuò)展



但是對象不能改變

例如:foo={n:1000}; 會報(bào)錯(cuò)!



作用域:



  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



可以向外面作用域找 不可以向里面作用域找 內(nèi)層變量可能會覆蓋外層變量



let和var的本質(zhì)區(qū)別:瀏覽器的頂層對象為window Node的為global,var定義的變量會關(guān)聯(lián)到頂層對象中,let和const不會!

例如:



         var a =100;

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

         let b=100;

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

1

2

3

4

如何選擇const和let:數(shù)據(jù)需要變化用let 數(shù)據(jù)不需要變化用const



解構(gòu)賦值:ES6中允許從數(shù)組中提值,按照對應(yīng)位置,對變量賦值,對象也可以實(shí)現(xiàn)解構(gòu)!

例如:

 {
    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
}

解構(gòu)賦值表達(dá)式右邊的部分表示解構(gòu)的源;解構(gòu)表達(dá)式左邊的部分表示解構(gòu)的目標(biāo),如果左右兩邊對比成功就返回右邊的值,如果沒有對比成功就會undefined返回原來的值

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


轉(zhuǎn)自:csdn 作者:勤快的基佬

藍(lán)藍(lán)設(shè)計(jì)www.lapeinture.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)

日歷

鏈接

個(gè)人資料

存檔

国产高清视频免费观看| 美女免费精品视频在线观看| 日本免费乱人伦在线观看 | 国产精品自拍亚洲| 欧美国产日韩久久久| 国产网站免费视频| 欧美国产日韩在线| 韩国毛片| 99久久精品国产片| 沈樵在线观看福利| 午夜欧美福利| 精品国产一区二区三区精东影业| 久久99爰这里有精品国产| 韩国三级视频在线观看| 九九九网站| 99热热久久| 人人干人人草| 亚欧视频在线| 精品久久久久久中文字幕2017| 日韩在线观看视频黄| 国产高清在线精品一区a| 国产美女在线观看| 久草免费资源| 99久久精品国产片| 精品视频在线观看视频免费视频 | 日韩一级精品视频在线观看| 亚洲精品中文一区不卡 | 国产福利免费视频| 日日夜夜婷婷| 中文字幕一区二区三区精彩视频| 九九久久国产精品大片| 久草免费在线视频| 亚洲天堂免费| 国产高清在线精品一区a| 精品视频在线观看一区二区三区| 韩国三级视频在线观看| 一本高清在线| 亚洲精品影院一区二区| 日韩中文字幕一区二区不卡| 一级片免费在线观看视频| 91麻豆爱豆果冻天美星空| 色综合久久天天综合绕观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品视频一区二区| 久久99中文字幕久久| 午夜在线影院| 麻豆系列 在线视频| 日韩在线观看视频黄| 国产高清在线精品一区a| 日本特黄特色aaa大片免费| 欧美1区| 国产网站免费观看| 国产91丝袜高跟系列| 日韩女人做爰大片| 久久久久久久男人的天堂| 999久久66久6只有精品| 精品国产一区二区三区久久久蜜臀| 韩国毛片免费| 国产麻豆精品免费视频| 天天色成人网| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | a级毛片免费全部播放| 九九九在线视频| 国产麻豆精品| 亚洲精品影院| 国产一区二区精品| 国产一区二区精品| 精品国产亚洲人成在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人高清视频在线观看| 亚欧视频在线| 久久国产一久久高清| 999久久狠狠免费精品| 国产一区二区福利久久| 久久精品店| 麻豆网站在线看| 免费国产在线视频| 国产一区二区精品久久| 日韩中文字幕一区二区不卡| 亚欧成人毛片一区二区三区四区| 成人免费网站久久久| 国产不卡福利| 999精品在线| 一本伊大人香蕉高清在线观看| 中文字幕一区二区三区 精品| 国产不卡在线播放| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产91素人搭讪系列天堂| 日韩在线观看视频免费| 国产麻豆精品免费密入口| 香蕉视频三级| 九九九国产| 日本特黄特色aa大片免费| 日本免费看视频| 尤物视频网站在线观看| 国产极品白嫩美女在线观看看| 欧美激情一区二区三区中文字幕| 亚久久伊人精品青青草原2020| 久久成人性色生活片| 精品国产香蕉在线播出 | 亚洲精品影院| 国产麻豆精品免费密入口| 国产原创视频在线| 亚洲第一视频在线播放| 精品视频在线观看视频免费视频 | 国产不卡在线观看| 青青久久精品国产免费看| 91麻豆国产| 国产网站在线| 精品久久久久久免费影院| 日韩中文字幕在线观看视频| 欧美爱色| 中文字幕Aⅴ资源网| 久久精品免视看国产明星| 黄色福利片| 精品视频在线观看视频免费视频| 午夜欧美成人久久久久久| 国产91精品一区| 成人免费观看视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产不卡在线观看| 午夜激情视频在线播放| 精品久久久久久中文字幕一区| 高清一级毛片一本到免费观看| 欧美激情一区二区三区视频 | 日本伦理网站| 国产原创中文字幕| 欧美激情一区二区三区在线| 99久久网站| 韩国毛片免费大片| 91麻豆精品国产综合久久久| 青青久久精品| 一a一级片| 麻豆网站在线看| 成人免费一级纶理片| 久久久成人网| 一级女性大黄生活片免费| 精品国产一区二区三区久久久蜜臀| 日韩欧美一二三区| 亚洲天堂一区二区三区四区| 九九国产| 欧美一级视| 日韩综合| 九九九网站| 免费国产一级特黄aa大片在线| 91麻豆精品国产自产在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩中文字幕一区二区不卡| 精品视频在线观看一区二区三区| 99久久精品国产片| 午夜激情视频在线观看| 欧美一区二区三区性| 一级毛片视频播放| 黄色免费三级| 青青久久精品| 国产a免费观看| 国产一区二区精品久| 久久久久久久男人的天堂| 欧美另类videosbestsex高清| 欧美大片a一级毛片视频| 国产不卡在线看| 国产麻豆精品视频| 黄视频网站免费看| 亚洲精品久久玖玖玖玖| 日韩在线观看视频黄| 你懂的在线观看视频| 成人av在线播放| 亚洲精品影院一区二区| 九九精品在线播放| 麻豆网站在线看| 九九免费高清在线观看视频| 国产91素人搭讪系列天堂| 免费毛片播放| 久久国产精品自线拍免费| 久久国产精品自线拍免费| 国产一区免费在线观看| 99热视热频这里只有精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩在线观看视频黄| 亚洲 激情| 一本伊大人香蕉高清在线观看| 久久国产精品自由自在| 台湾美女古装一级毛片| 国产原创视频在线| 久久久成人网| 九九精品影院| 午夜精品国产自在现线拍| 日日夜夜婷婷| 精品在线观看一区| 99久久网站| 国产福利免费视频| 欧美激情一区二区三区中文字幕| 你懂的日韩| 91麻豆精品国产片在线观看| 日韩女人做爰大片| 午夜在线观看视频免费 成人| 成人免费观看男女羞羞视频| 亚欧乱色一区二区三区| 国产欧美精品| 日本乱中文字幕系列|