成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ES6——箭頭函數

DevTalking / 3545人閱讀

摘要:在箭頭函數中,指針是繼承于其所在的作用域。個人理解為箭頭函數不具備函數作用域,相當于表達式,即為箭頭函數被調用時外層的

箭頭函數 定義

定義一個箭頭函數很簡單,基本語法是:

    ([param] [, param]) => {
       statements
    }
    
    param => expression

param 是參數,根據參數個數不同,分這幾種情況:
() => { ... } // 零個參數用 () 表示;
x => { ... } // 一個參數可以省略 ();
(x, y) => { ... } // 多參數不能省略 ();
當然,和普通函數一樣,箭頭函數也可以使用 ES6 新增的「默認參數」和「剩余參數」( Firefox15+ 開始支持):

    var func1 = (x = 1, y = 2) => x + y;
    func1(); // 得到 3
    
    var func2 = (x, ...args) => { console.log(args) };
    func2(1,2,3); // 輸出 [2, 3]

箭頭函數允許多行語句或者單行表達式作為函數體。多行語句要用 {} 括起來;單行表達式不需要 {},并且會作為函數返回值:

    x => { return x * x }; // 函數返回 x * x
    x => x * x; // 同上一行
    x => return x * x; // SyntaxError 報錯,不能省略 {}
    x => { x * x }; // 合法,沒有定義返回值,返回 undefined

箭頭函數也是 JS 函數的一種,所以之前的 instanceof 和 typeof 依然可用:

    var func1 = () => {};
    func1 instanceof Function; // true
    
    var func2 = () => {};
    typeof func2; // "function"
特性

箭頭函數內部沒有 constructor 方法,也沒有 prototype,所以不支持 new 操作。new (() => {}) 會觸發(fā) TypeError 報錯。

new (() => {}) // Uncaught TypeError: () => {} is not a constructor(…)

箭頭函數沒有自己內部的 this 指針。在箭頭函數中, this 指針是繼承于其所在的作用域。(個人理解為箭頭函數不具備函數作用域,相當于表達式,this即為箭頭函數被調用時外層的this)

    var a = 1;
    var test = {
        a: 100,
        c: function(){
            console.log(this.a); 
        },
        d: ()=>{console.log(this.a)} 
    }
    test.c();//100
    test.d();//1

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

轉載請注明本文地址:http://systransis.cn/yun/78706.html

相關文章

  • es6 - 箭頭函數

    摘要:也就是說箭頭函數的的值不再根據調用時上下文確定,而是像普通變量那樣根據定義時的作用域鏈進行查找。箭頭函數中的依然要根據定義時的作用域鏈進行查找。知乎這篇文章對箭頭函數的一些不適合的場景進行了總結,可以作為參考。 es6 - 箭頭函數 哇,箭頭函數...,聽起來好NB,但是如果你知道它是因為使用了=>這樣類似箭頭的符號 ,所以才叫箭頭函數。 瞬間感覺:呵,這名字起的...。 es6增加了...

    13651657101 評論0 收藏0
  • ES6學習筆記之箭頭函數

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

    Vultr 評論0 收藏0
  • 深入ES6箭頭函數

    摘要:令人震驚的箭頭函數引入了寫入函數的新語法。使用箭頭函數創(chuàng)建簡單對象時有一個警告。代碼因此被默默地解釋為一個不執(zhí)行任何操作并返回未定義的箭頭函數。內部函數是一個箭頭函數,所以它從封閉范圍繼承此函數。 箭頭從一開始就一直是JavaScript的一部分。第一個JavaScript教程建議在HTML注釋中包裝內聯腳本。這會阻止不支持JS的瀏覽器錯誤地將JS代碼顯示為文本。你會寫這樣的東西: ...

    MasonEast 評論0 收藏0
  • ES6 箭頭函數 從了解到深入

    摘要:有傳聞說,箭頭函數的語法,是受到了的影響,并且它與中的語法一樣,共享上下文。箭頭函數是新增加的一個特性。箭頭函數沒有自己的值,其值是通過繼承其它傳入對象而獲得的通常來說是上一級外部函數的的指向。 箭頭函數 1. 簡單的定義: 胖箭頭函數 Fat arrow functions,又稱箭頭函數,是一個來自ECMAScript 2015(又稱ES6)的全新特性。有傳聞說,箭頭函數的語法=>,...

    Eminjannn 評論0 收藏0
  • ES6~你跟箭頭函數升華之路

    摘要:箭頭函數簡單的定義胖箭頭函數,又稱箭頭函數,是一個來自又稱的全新特性。箭頭函數是新增加的一個特性。使用箭頭函數的注意點箭頭函數在參數和箭頭之間不能換行。值得注意的一點就是對象的指向是可變的,但在箭頭函數內是固定的。 箭頭函數 1. 簡單的定義: 胖箭頭函數 Fat arrow functions,又稱箭頭函數,是一個來自ECMAScript 2015(又稱ES6)的全新特性。有傳聞說,...

    Faremax 評論0 收藏0
  • 關于ES6箭頭函數的this問題

    摘要:對象的指向是可變的,但是在箭頭函數中,它是固定的。同樣的由于箭頭函數沒有自己的所以傳統的顯性綁定無效內部的指向外部在的學習中,的指向問題一直是個難點,特別是在對象方法中使用時,必須更加小心。由此箭頭函數在很大程度上減少了我們的困擾。 什么是箭頭函數 用法 ES6 允許使用箭頭(=>)定義函數 測試 var p1 = document.getElementById(test1)...

    LeviDing 評論0 收藏0

發(fā)表評論

0條評論

DevTalking

|高級講師

TA的文章

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