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

資訊專欄INFORMATION COLUMN

ES6箭頭函數(shù)學(xué)習(xí)筆記

sydMobile / 2901人閱讀

摘要:普通函數(shù)里代表了調(diào)用時(shí)傳入的參數(shù),但是箭頭函數(shù)不然,箭頭函數(shù)會(huì)把當(dāng)成一個(gè)普通的變量,順著作用域鏈由內(nèi)而外地查詢。不能被箭頭函數(shù)不能與關(guān)鍵字一起使用,會(huì)報(bào)錯(cuò)。

語法

具有一個(gè)參數(shù)的簡(jiǎn)單函數(shù)

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

沒有參數(shù)的需要用在箭頭前加上小括號(hào)

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

多個(gè)參數(shù)需要用到小括號(hào),參數(shù)間逗號(hào)間隔,例如兩個(gè)數(shù)字相加

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

函數(shù)體多條語句需要用到大括號(hào)

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

返回對(duì)象時(shí)需要用小括號(hào)包起來,因?yàn)榇罄ㄌ?hào)被占用解釋為代碼塊了

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

直接作為事件handler

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

作為數(shù)組排序回調(diào)

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生成的函數(shù)會(huì)定義一個(gè)自己的this,而箭頭函數(shù)沒有自己的this,而是會(huì)和上一層的作用域共享this。

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

arguments:普通函數(shù)里arguments代表了調(diào)用時(shí)傳入的參數(shù),但是箭頭函數(shù)不然,箭頭函數(shù)會(huì)把a(bǔ)rguments當(dāng)成一個(gè)普通的變量,順著作用域鏈由內(nèi)而外地查詢。

不能被new:箭頭函數(shù)不能與new關(guān)鍵字一起使用,會(huì)報(bào)錯(cuò)。

typeof運(yùn)算符和普通的function一樣:

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

instanceof也返回true,表明也是Function的實(shí)例:

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/86297.html

相關(guān)文章

  • ES6學(xué)習(xí)筆記箭頭函數(shù)

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

    Vultr 評(píng)論0 收藏0
  • es6學(xué)習(xí)筆記-箭頭函數(shù)_v1.0_byKL

    摘要:因?yàn)榧^函數(shù)本身沒有所以不可以當(dāng)作構(gòu)造函數(shù),也就是說,不可以使用命令,否則會(huì)拋出一個(gè)錯(cuò)誤。箭頭函數(shù)不可以使用對(duì)象,該對(duì)象在函數(shù)體內(nèi)不存在。 es6學(xué)習(xí)筆記-箭頭函數(shù)_v1.0 箭頭函數(shù)使用方法 var f = v => v; //普通函數(shù)配合箭頭函數(shù)寫法,這里并且是傳參的 //相當(dāng)于 var f = function(v) { return v; }; /*-----------...

    lushan 評(píng)論0 收藏0
  • ES6學(xué)習(xí)筆記

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

    Gu_Yan 評(píng)論0 收藏0
  • 學(xué)習(xí)ES6筆記──工作中常用到的ES6語法

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

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

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

    DoINsiSt 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<