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

資訊專欄INFORMATION COLUMN

es6之箭頭函數

villainhr / 2572人閱讀

摘要:箭頭函數的寫法箭頭函數相當于匿名函數,它的寫法是它相當于可以看到,只有一條語句的箭頭函數省略了括號與。

箭頭函數的寫法:

箭頭函數相當于匿名函數,它的寫法是:

x => x*x

它相當于

fucntion (x){
    return x*x;
}

可以看到,只有一條語句的箭頭函數省略了括號與return。如果含有多條表達式,那么就不能省略{}return

x => {
    if(x>0){
        return x*x;
    }else{
        return -x*x;
    }
    
}

如果函數多個參數,那么小括號()也不能省略:

// 兩個參數:
(x, y) => x * x + y * y

// 無參數:
() => 3.14

// 可變參數:
(x, y, ...rest) => {
    var i, sum = x + y;
    for (i=0; i

如果要返回一個表達式的話,這樣寫會報錯:

x => {foo.x}

因為和函數體的{...}有沖突,所以要改為:

x => ({foo.x})
this指向的修復

不使用箭頭函數的時候,在對象的方法中使用this需要使用hack寫法:

var obj = {
    birth: 1990,
    getAge: function () {
        var _this = this;
        var fn = function () {
            return new Date().getFullYear() - _this.birth; // this指向window或undefined
        };
        return fn();
    }
};

現在,箭頭函數完全修復了this的指向,this總是指向詞法作用域,也就是外層調用者obj

var obj = {
    birth: 1990,
    getAge: function () {
        var b = this.birth; // 1990
        var fn = () => new Date().getFullYear() - this.birth; // this指向obj對象
        return fn();
    }
};
obj.getAge(); // 25

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

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

相關文章

  • ES6學習筆記箭頭函數

    摘要:特性介紹箭頭函數是新增的特性之一,它為這門語言提供了一種全新的書寫函數的語法。用生成的函數會定義一個自己的,而箭頭函數沒有自己的,而是會和上一層的作用域共享。 本文同步自我得博客:http://www.joeray61.com JS中的箭頭 箭頭在JS里并不算是個新鮮的玩意兒,一直以來,JS都支持-->這樣的箭頭。 很早的時候有些瀏覽器還不支持JS,當時的人們為了兼容這些瀏覽器,需要這...

    Vultr 評論0 收藏0
  • ES6 系列箭頭函數

    摘要:回顧我們先來回顧下箭頭函數的基本語法。主要區別包括沒有箭頭函數沒有,所以需要通過查找作用域鏈來確定的值。箭頭函數并沒有方法,不能被用作構造函數,如果通過的方式調用,會報錯。 回顧 我們先來回顧下箭頭函數的基本語法。 ES6 增加了箭頭函數: let func = value => value; 相當于: let func = function (value) { return ...

    hsluoyz 評論0 收藏0
  • [面試專題]ES6箭頭函數詳解

    摘要:使用或調用由于已經在詞法層面完成了綁定,通過或方法調用一個函數時,只是傳入了參數而已,對并沒有什么影響箭頭函數不會在其內部暴露出參數等等,都不會指向箭頭函數的,而是指向了箭頭函數所在作用域的一個名為的值如果有的話,否則,就是。 ES6之箭頭函數 標簽(空格分隔): 未分類 返回值 單行函數體默認返回改行計算結果, 多行需要指定返回值 let c = (a,b)=>a+b; conso...

    Caicloud 評論0 收藏0
  • [面試專題]ES6箭頭函數詳解

    摘要:使用或調用由于已經在詞法層面完成了綁定,通過或方法調用一個函數時,只是傳入了參數而已,對并沒有什么影響箭頭函數不會在其內部暴露出參數等等,都不會指向箭頭函數的,而是指向了箭頭函數所在作用域的一個名為的值如果有的話,否則,就是。 ES6之箭頭函數 標簽(空格分隔): 未分類 返回值 單行函數體默認返回改行計算結果, 多行需要指定返回值 let c = (a,b)=>a+b; conso...

    sevi_stuo 評論0 收藏0
  • [面試專題]ES6箭頭函數詳解

    摘要:使用或調用由于已經在詞法層面完成了綁定,通過或方法調用一個函數時,只是傳入了參數而已,對并沒有什么影響箭頭函數不會在其內部暴露出參數等等,都不會指向箭頭函數的,而是指向了箭頭函數所在作用域的一個名為的值如果有的話,否則,就是。 ES6之箭頭函數 標簽(空格分隔): 未分類 返回值 單行函數體默認返回改行計算結果, 多行需要指定返回值 let c = (a,b)=>a+b; conso...

    chenjiang3 評論0 收藏0

發表評論

0條評論

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