摘要:使用或調(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)用
arguments由于 this 已經(jīng)在詞法層面完成了綁定,通過(guò) call() 或 apply() 方法調(diào)用一個(gè)函數(shù)時(shí),只是傳入了參數(shù)而已,對(duì) this 并沒(méi)有什么影響.
箭頭函數(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
摘要:使用或調(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...
摘要:使用或調(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...
摘要:為此決定自研一個(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)...
閱讀 3168·2021-11-22 09:34
閱讀 2806·2021-09-22 15:28
閱讀 835·2021-09-10 10:51
閱讀 1865·2019-08-30 14:22
閱讀 2332·2019-08-30 14:17
閱讀 2746·2019-08-30 11:01
閱讀 2306·2019-08-29 17:19
閱讀 3674·2019-08-29 13:17