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

資訊專(zhuān)欄INFORMATION COLUMN

[面試專(zhuān)題]ES6之箭頭函數(shù)詳解

Caicloud / 2200人閱讀

摘要:使用或調(diào)用由于已經(jīng)在詞法層面完成了綁定,通過(guò)或方法調(diào)用一個(gè)函數(shù)時(shí),只是傳入了參數(shù)而已,對(duì)并沒(méi)有什么影響箭頭函數(shù)不會(huì)在其內(nèi)部暴露出參數(shù)等等,都不會(huì)指向箭頭函數(shù)的,而是指向了箭頭函數(shù)所在作用域的一個(gè)名為的值如果有的話(huà),否則,就是。

ES6之箭頭函數(shù)

標(biāo)簽(空格分隔): 未分類(lèi)


返回值

單行函數(shù)體默認(rèn)返回改行計(jì)算結(jié)果, 多行需要指定返回值

let c = (a,b)=>a+b;
console.log(c(1,12));

ES5
"use strict";
var c = function c(a, b) {
  return a + b;
};
console.log(c(1, 12));
let c = (a,b)=>{a = a+b;a--}
console.log(c(1,12));//undefined

let c = (a,b)=>{a = a+b;return a--};

返回對(duì)象時(shí)寫(xiě)法(否則報(bào)錯(cuò))

let c = (a,b)=>({a:a});
or
let d = (a,b)=>{return {a:a}}
this指向

綁定外層函數(shù)this(簡(jiǎn)化一個(gè)常見(jiàn)用法,_this = this)

在箭頭函數(shù)出現(xiàn)之前,每個(gè)新定義的函數(shù)都有其自己的 this 值(例如,構(gòu)造函數(shù)的 this 指向了一個(gè)新的對(duì)象;嚴(yán)格模式下的函數(shù)的 this 值為 undefined;如果函數(shù)是作為對(duì)象的方法被調(diào)用的,則其 this 指向了那個(gè)調(diào)用它的對(duì)象)。//MDN

ES5

function Person(age) {
    var _this = this;
    this.age = age;
    setTimeout(function growUp() {
        console.log(this);
        _this.age++;
    }, 1000);
}
var p = new Person(26);

ES6

function Person(age) {
    this.age = age;
    setTimeout(()=> {
        console.log(this);
        this.age++;
    }, 1000);
    console.log(this.age);
}
var p = new Person(26);

使用 call 或 apply 調(diào)用

由于 this 已經(jīng)在詞法層面完成了綁定,通過(guò) call() 或 apply() 方法調(diào)用一個(gè)函數(shù)時(shí),只是傳入了參數(shù)而已,對(duì) this 并沒(méi)有什么影響.

arguments

箭頭函數(shù)不會(huì)在其內(nèi)部暴露出參數(shù)(arguments ): arguments.length, arguments[0], 等等,都不會(huì)指向箭頭函數(shù)的 arguments,而是指向了箭頭函數(shù)所在作用域的一個(gè)名為 arguments 的值(如果有的話(huà),否則,就是 undefined?!g者注)。

這種情況下,ES6 rest參數(shù)可以替代

function foo(n) { 
  var f = (...args) =>  args[0]+args.length; 
  return f(n); 
}

foo(1); // 1

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

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

相關(guān)文章

  • [面試專(zhuān)題]ES6箭頭函數(shù)詳解

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

    sevi_stuo 評(píng)論0 收藏0
  • [面試專(zhuān)題]ES6箭頭函數(shù)詳解

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

    chenjiang3 評(píng)論0 收藏0
  • H5學(xué)習(xí)

    摘要:為此決定自研一個(gè)富文本編輯器。本文,主要介紹如何實(shí)現(xiàn)富文本編輯器,和解決一些不同瀏覽器和設(shè)備之間的。 對(duì)ES6Generator函數(shù)的理解 Generator 函數(shù)是 ES6 提供的一種異步編程解決方案,語(yǔ)法行為與傳統(tǒng)函數(shù)完全不同。 JavaScript 設(shè)計(jì)模式 ② 巧用工廠(chǎng)模式和創(chuàng)建者模式 我為什么把他們兩個(gè)放在一起講?我覺(jué)得這兩個(gè)設(shè)計(jì)模式有相似之處,有時(shí)候會(huì)一個(gè)設(shè)計(jì)模式不能滿(mǎn)...

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

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

0條評(píng)論

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