国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

es6入門筆記

renweihub / 2045人閱讀

摘要:批量聲明循環箭頭函數中可以省略,如果括號里只有返回的表達式,那么花括號和關鍵字也可以省略。箭頭函數指向實例的指向是該函數被調用的指向該函數是被哪個對象所調用時的就是箭頭函數中的指向是定義時的指向實例的指向

常量const
const a = 1;
a +=2;
console.log(a);
//報錯  VM6833:2 Uncaught TypeError: Assignment to constant variable.
//常量只讀,不可以更改

列表項目

es5/es6作用域

舉個栗子:

//es5


(function(){
    var arr = [];
    for(var i =0;i<=2;i++){
        arr[i]=function(){
            return i+1;
        }
    }
    arr[0]();//4,i并沒有進入循環,而是在循環完,i++到i=3;
    arr[1]();//4 一個閉包的存在,當執行arr[2]()時,i已經是3
 })()
--------
//es6
{
    let arr = [];
    for(let i = 0;i<=2;i++){
        arr[i] = ()=>i+1;
    }
    arr[0]();//1
    arr[1]();//2
}


總結: es5要通過立即執行函數對作用域進行隔離,es6只需要{}即可這樣就不會污染全局變量,可以多次使用同樣的變量
let變量聲明
{
 let a = 1;
}
console.log(a);//報錯 a is not defined

//不要在聲明之前使用,在語法上,稱為“暫時性死區”(temporal dead zone,簡稱 TDZ)。
var tmp = 123;
if (true) {
  tmp = "abc"; // ReferenceError
  let tmp;
}
批量聲明
{
 let [a,b,c]=[1,2,3];
 console.log(typeof a);//number
}
循環

for in&&for of
var arr=[1,3,4]
for(var i in arr){
console.log(i);
}
//0,1,2

for(var i of arr){
//1,3,4;
}

箭頭函數

es5:

(function(i){
   i+=1;
   console.log(i);
})(1)   //2

es6:

((i)=>{
    i+=1;
    console.log(i);
})(1)   //2

es6中function可以省略,如果括號里只有返回的表達式,那么花括號和return關鍵字也可以省略。

箭頭函數this指向

//es5
{
    var factory = function(){
        this.a = "a";
        this.b = "b";
        this.c = {
            a:"a+",
            b:function(){
                return this.a;
            } 
        }
    }
    console.log(new factory().c.b())//a+
}

 //es6
{
    var factory = function(){
        this.a = "a";
        this.b = "b";
        this.c = {
            a:"a+",
            b:()=>this.a
            
        }
    }
    console.log(new factory().c.b())//a
}

es5實例的this指向是該函數被調用的指向(該函數是被哪個對象所調用時的就是this) 箭頭函數中的this指向是定義時的指向(new factory()實例的指向)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83536.html

相關文章

  • ES6入門筆記(一)

    摘要:用聲明的常量無法在后面的代碼中改值。表達式里還有一個很方便的就是表達式,舉個例子運行結果為后聲明的里以數組的形式存放了函數的剩余參數,是不是很方便。 ES6入門筆記(一) 安裝babel 由于瀏覽器對ES6的支持還不是很好,編寫ES6代碼前我們要安裝一個babel工具將ES6代碼編譯成ES5代碼,用如下命令安裝babel: npm install -g babel-core ...

    warkiz 評論0 收藏0
  • ES6 Iterator筆記(摘抄至阮一峰的ECMAScript 6入門

    摘要:也就是說,遍歷器對象本質上,就是一個指針對象。執行這個函數,就會返回一個遍歷器。一個對象如果要有可被循環調用的接口,就必須在的屬性上部署遍歷器生成方法原型鏈上的對象具有該方法也可。后面跟的是一個可遍歷的結構,它會調用該結構的遍歷器接口。 ES6 Iterator筆記(摘抄至阮一峰的ECMAScript 6入門) Iterator的遍歷過程 創建一個指針對象,指向當前數據結構的起始位...

    mayaohua 評論0 收藏0
  • ES6入門筆記(二)

    摘要:入門筆記二對字符串操作的擴展傳統上,只有方法,可以用來確定一個字符串是否包含在另一個字符串中。返回布爾值,表示參數字符串是否在源字符串的頭部。用于頭部補全,用于尾部補全。模板字符串中嵌入變量,需要將變量名寫在之中。 ES6入門筆記(二) ES6對字符串操作的擴展 傳統上,JavaScript只有indexOf方法,可以用來確定一個字符串是否包含在另一個字符串中。ES6又提供了三種新方法...

    godlong_X 評論0 收藏0
  • React入門筆記(一)

    摘要:環境配置新版的要求統一使用作為的編譯工具,因此我們選擇,新建文件,內容如下設置候選版本為和這里因為要用到,所以把在候選版本里加入對的支持組件里引入的組件這個概念里的組件就像,里的控件一樣,能方便快捷的作為界面的一部分實現一定功能,我們可以 環境配置 新版的React要求統一使用babel作為JSX的編譯工具,因此我們選擇babel,新建.babelrc文件,內容如下 { pre...

    OpenDigg 評論0 收藏0
  • react入門學習筆記(一)

    摘要:選擇的主要原因大概是因為該框架出現較早,感覺上會相對成熟,日后學習中遇到問題想要查找答案相對簡單一些,對,就是這么簡單。多說無益,接下來開始的學習,我按照我學習中帶著的問題來一一解答,完成我的入門筆記。主要是針對前端的組件化開發。 這兩天得空,特意來折騰了以下時下火熱的前端框架react,至于為什么選react,作為一個初學者react和vue在技術上的優劣我無權評論,也就不妄加評論了...

    leon 評論0 收藏0

發表評論

0條評論

renweihub

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<