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

資訊專欄INFORMATION COLUMN

[面試專題]ES6之箭頭函數詳解

chenjiang3 / 1651人閱讀

摘要:使用或調用由于已經在詞法層面完成了綁定,通過或方法調用一個函數時,只是傳入了參數而已,對并沒有什么影響箭頭函數不會在其內部暴露出參數等等,都不會指向箭頭函數的,而是指向了箭頭函數所在作用域的一個名為的值如果有的話,否則,就是。

ES6之箭頭函數

標簽(空格分隔): 未分類

返回值

單行函數體默認返回改行計算結果, 多行需要指定返回值

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--};

返回對象時寫法(否則報錯)

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

綁定外層函數this(簡化一個常見用法,_this = this)

在箭頭函數出現之前,每個新定義的函數都有其自己的 this 值(例如,構造函數的 this 指向了一個新的對象;嚴格模式下的函數的 this 值為 undefined;如果函數是作為對象的方法被調用的,則其 this 指向了那個調用它的對象)。//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 調用

由于 this 已經在詞法層面完成了綁定,通過 call() 或 apply() 方法調用一個函數時,只是傳入了參數而已,對 this 并沒有什么影響.

arguments

箭頭函數不會在其內部暴露出參數(arguments ): arguments.length, arguments[0], 等等,都不會指向箭頭函數的 arguments,而是指向了箭頭函數所在作用域的一個名為 arguments 的值(如果有的話,否則,就是 undefined。——譯者注)。

這種情況下,ES6 rest參數可以替代

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

foo(1); // 1

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

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

相關文章

  • [面試專題]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
  • H5學習

    摘要:為此決定自研一個富文本編輯器。本文,主要介紹如何實現富文本編輯器,和解決一些不同瀏覽器和設備之間的。 對ES6Generator函數的理解 Generator 函數是 ES6 提供的一種異步編程解決方案,語法行為與傳統函數完全不同。 JavaScript 設計模式 ② 巧用工廠模式和創建者模式 我為什么把他們兩個放在一起講?我覺得這兩個設計模式有相似之處,有時候會一個設計模式不能滿...

    aristark 評論0 收藏0

發表評論

0條評論

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