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

資訊專欄INFORMATION COLUMN

ES6箭頭函數學習筆記

sydMobile / 2891人閱讀

摘要:普通函數里代表了調用時傳入的參數,但是箭頭函數不然,箭頭函數會把當成一個普通的變量,順著作用域鏈由內而外地查詢。不能被箭頭函數不能與關鍵字一起使用,會報錯。

語法

具有一個參數的簡單函數

var single = a => a
single("hello, world") // "hello, world"

沒有參數的需要用在箭頭前加上小括號

var log = () => {
    alert("no param")
}

多個參數需要用到小括號,參數間逗號間隔,例如兩個數字相加

var add = (a, b) => a + b
add(3, 8) // 11

函數體多條語句需要用到大括號

var add = (a, b) => {
    if (typeof a == "number" && typeof b == "number") {
        return a + b
    } else {
        return 0
    }
}

返回對象時需要用小括號包起來,因為大括號被占用解釋為代碼塊了

var getHash = arr => {
    // ...
    return ({
        name: "Jack",
        age: 33
    })
}

直接作為事件handler

document.addEventListener("click", ev => {
    console.log(ev)
})

作為數組排序回調

var arr = [1, 9 , 2, 4, 3, 8].sort((a, b) => {
    if (a - b > 0 ) {
        return 1
    } else {
        return -1
    }
})
arr // [1, 2, 3, 4, 8, 9]

特性

this:用function生成的函數會定義一個自己的this,而箭頭函數沒有自己的this,而是會和上一層的作用域共享this。

apply & call:由于箭頭函數已經綁定了this的值,即使使用apply或者call也不能只能起到傳參數的作用,并不能強行改變箭頭函數里的this。

arguments:普通函數里arguments代表了調用時傳入的參數,但是箭頭函數不然,箭頭函數會把arguments當成一個普通的變量,順著作用域鏈由內而外地查詢。

不能被new:箭頭函數不能與new關鍵字一起使用,會報錯。

typeof運算符和普通的function一樣:

var func = a => a
console.log(typeof func); // "function"

instanceof也返回true,表明也是Function的實例:

console.log(func instanceof Function); // true

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

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

相關文章

  • ES6學習筆記箭頭函數

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

    Vultr 評論0 收藏0
  • es6學習筆記-箭頭函數_v1.0_byKL

    摘要:因為箭頭函數本身沒有所以不可以當作構造函數,也就是說,不可以使用命令,否則會拋出一個錯誤。箭頭函數不可以使用對象,該對象在函數體內不存在。 es6學習筆記-箭頭函數_v1.0 箭頭函數使用方法 var f = v => v; //普通函數配合箭頭函數寫法,這里并且是傳參的 //相當于 var f = function(v) { return v; }; /*-----------...

    lushan 評論0 收藏0
  • ES6學習筆記

    摘要:所以,如果一個數組成員不嚴格等于,默認值是不會生效的因為不嚴格等于對象解構對象的解構與數組有一個重要的不同。數組的元素是按次序排列的,變量的取值由它的位置決定而對象的屬性沒有次序,變量必須與屬性同名,才能取到正確的值。 http://es6.ruanyifeng.com/?se... 一、作用域 let //i作用域在全局,每次循環i都被重新賦值了而覆蓋了之前的值 var a = []...

    Gu_Yan 評論0 收藏0
  • 學習ES6筆記──工作中常用到的ES6語法

    摘要:但是有了尾調用優化之后,遞歸函數的性能有了提升。常被用來檢查對象中是否存在某個鍵名,集合常被用來獲取已存的信息。循環解構對象本身不支持迭代,但是我們可以自己添加一個生成器,返回一個,的迭代器,然后使用循環解構和。 一、let和const 在JavaScript中咱們以前主要用關鍵var來定義變量,ES6之后,新增了定義變量的兩個關鍵字,分別是let和const。對于變量來說,在ES5中...

    curried 評論0 收藏0
  • 《深入理解ES6筆記——函數(3)

    摘要:錯誤的寫法錯誤的寫法中的構造函數新增了支持默認參數和不定參數。箭頭函數的簡單理解箭頭函數的左邊表示輸入的參數,右邊表示輸出的結果。但是有了尾調用優化之后,遞歸函數的性能有了提升。 作為前端切圖仔,越發覺得自己離不開函數了。 說到JavaScript函數,腦子里都是匿名函數、普通函數、閉包函數、構造函數......然后還能說出一大堆函數的概念。如果你達到這個水平,那么函數對你來說沒有難度...

    DoINsiSt 評論0 收藏0

發表評論

0條評論

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