摘要:使用或調(diào)用由于已經(jīng)在詞法層面完成了綁定,通過或方法調(diào)用一個函數(shù)時,只是傳入了參數(shù)而已,對并沒有什么影響箭頭函數(shù)不會在其內(nèi)部暴露出參數(shù)等等,都不會指向箭頭函數(shù)的,而是指向了箭頭函數(shù)所在作用域的一個名為的值如果有的話,否則,就是。
ES6之箭頭函數(shù)
標簽(空格分隔): 未分類
返回值單行函數(shù)體默認返回改行計算結(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--};
返回對象時寫法(否則報錯)
let c = (a,b)=>({a:a}); or let d = (a,b)=>{return {a:a}}this指向
綁定外層函數(shù)this(簡化一個常見用法,_this = this)
在箭頭函數(shù)出現(xiàn)之前,每個新定義的函數(shù)都有其自己的 this 值(例如,構(gòu)造函數(shù)的 this 指向了一個新的對象;嚴格模式下的函數(shù)的 this 值為 undefined;如果函數(shù)是作為對象的方法被調(diào)用的,則其 this 指向了那個調(diào)用它的對象)。//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)用
arguments由于 this 已經(jīng)在詞法層面完成了綁定,通過 call() 或 apply() 方法調(diào)用一個函數(shù)時,只是傳入了參數(shù)而已,對 this 并沒有什么影響.
箭頭函數(shù)不會在其內(nèi)部暴露出參數(shù)(arguments ): arguments.length, arguments[0], 等等,都不會指向箭頭函數(shù)的 arguments,而是指向了箭頭函數(shù)所在作用域的一個名為 arguments 的值(如果有的話,否則,就是 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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/85040.html
摘要:使用或調(diào)用由于已經(jīng)在詞法層面完成了綁定,通過或方法調(diào)用一個函數(shù)時,只是傳入了參數(shù)而已,對并沒有什么影響箭頭函數(shù)不會在其內(nèi)部暴露出參數(shù)等等,都不會指向箭頭函數(shù)的,而是指向了箭頭函數(shù)所在作用域的一個名為的值如果有的話,否則,就是。 ES6之箭頭函數(shù) 標簽(空格分隔): 未分類 返回值 單行函數(shù)體默認返回改行計算結(jié)果, 多行需要指定返回值 let c = (a,b)=>a+b; conso...
摘要:使用或調(diào)用由于已經(jīng)在詞法層面完成了綁定,通過或方法調(diào)用一個函數(shù)時,只是傳入了參數(shù)而已,對并沒有什么影響箭頭函數(shù)不會在其內(nèi)部暴露出參數(shù)等等,都不會指向箭頭函數(shù)的,而是指向了箭頭函數(shù)所在作用域的一個名為的值如果有的話,否則,就是。 ES6之箭頭函數(shù) 標簽(空格分隔): 未分類 返回值 單行函數(shù)體默認返回改行計算結(jié)果, 多行需要指定返回值 let c = (a,b)=>a+b; conso...
閱讀 1105·2022-06-21 15:13
閱讀 1923·2021-10-20 13:48
閱讀 1098·2021-09-22 15:47
閱讀 1425·2019-08-30 15:55
閱讀 3186·2019-08-30 15:53
閱讀 578·2019-08-29 12:33
閱讀 777·2019-08-28 18:15
閱讀 3538·2019-08-26 13:58