摘要:一句話概括就是箭頭函數(shù)的與創(chuàng)建時的封閉詞法上下文的保持一致。這時候會形成一個閉包,箭頭函數(shù)將其詞法作用域內(nèi)的記錄在屬性上。箭頭函數(shù)使用傳遞作用域會被忽略但是可以用來傳遞參數(shù),此時第一個參數(shù)應(yīng)該設(shè)置為。以下為實例實例實例
一句話概括就是: 箭頭函數(shù)的this與創(chuàng)建時的封閉詞法上下文的this保持一致。準確一點說應(yīng)該是,箭頭函數(shù)沒有自己的this以及arguments,所能取到的this是它被創(chuàng)建時的封閉詞法上下文。這時候會形成一個閉包,箭頭函數(shù)將其詞法作用域內(nèi)的this記錄在scope屬性上。箭頭函數(shù)使用call,apply,bind傳遞作用域會被忽略, 但是可以用來傳遞參數(shù),此時第一個參數(shù)應(yīng)該設(shè)置為null。以下為實例:
const foo = ((...rest) => { console.log(this) }) let foo1 = foo.bind({demo: 1}, "demo") // window foo1() function Foo() { // Foo 實例 console.log(this) this.obj = { // window foo: foo, // obj bar() { console.log(this) }, // Foo實例 zoo: () => { console.log(this) }, callF() { this.foo(), this.bar(), this.zoo() } } } let demo = new Foo() demo.obj.callF()
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92841.html
摘要:但是因為箭頭函數(shù)沒有自己的,它的其實是繼承了外層執(zhí)行環(huán)境中的,且指向永遠不會隨在哪里調(diào)用被誰調(diào)用而改變,所以箭頭函數(shù)不能作為構(gòu)造函數(shù)使用,或者說構(gòu)造函數(shù)不能定義成箭頭函數(shù),否則用調(diào)用時會報錯報錯箭頭函數(shù)沒有自己的箭頭函數(shù)沒有自己的對象。 這篇文章我們來了解一下ES6中的箭頭函數(shù)。首先會介紹一下箭頭函數(shù)的基本語法,因為基本語法比較好理解,我們用示例做簡單介紹即可。之后,我們重點來討論一下...
摘要:說明箭頭函數(shù)本質(zhì)還是函數(shù),我們來看看他與中普通函數(shù)的區(qū)別,先看看寫法上的區(qū)別。箭頭函數(shù)會捕獲其所在上下文的值,作為自己的值。箭頭函數(shù)不可變。這些方法也無法改變箭頭函數(shù)的指向。箭頭函數(shù)不能用關(guān)鍵字來實例化對象,不然會報錯。 說明 箭頭函數(shù)本質(zhì)還是函數(shù),我們來看看他與JavaScript中普通函數(shù)的區(qū)別,先看看寫法上的區(qū)別。 showImg(https://segmentfault...
摘要:箭頭函數(shù)是前端面試環(huán)節(jié)的一個高頻考點,一般會問箭頭函數(shù)的是指如何用普通函數(shù)實現(xiàn)一個箭頭函數(shù)箭頭函數(shù)有哪些優(yōu)點帶著這些問題,小編帶各位上路吧箭頭函數(shù)與普通函數(shù)得區(qū)別普通函數(shù)函數(shù)作為全局函數(shù)被調(diào)用時,指向全局對象函數(shù)作為對象中的方法被調(diào)用時,指 箭頭函數(shù)是前端面試環(huán)節(jié)的一個高頻考點,一般會問 1、箭頭函數(shù)的this是指?2、如何用普通函數(shù)實現(xiàn)一個箭頭函數(shù)3、箭頭函數(shù)有哪些優(yōu)點 帶著這些問題...
摘要:第二種情況是箭頭函數(shù)的如果指向普通函數(shù)它的繼承于該普通函數(shù)。箭頭函數(shù)的指向全局,使用會報未聲明的錯誤。 showImg(https://segmentfault.com/img/remote/1460000018610072?w=600&h=400); 箭頭函數(shù)是ES6的API,相信很多人都知道,因為其語法上相對于普通函數(shù)更簡潔,深受大家的喜愛。就是這種我們?nèi)粘i_發(fā)中一直在使用的API...
摘要:回顧我們先來回顧下箭頭函數(shù)的基本語法。主要區(qū)別包括沒有箭頭函數(shù)沒有,所以需要通過查找作用域鏈來確定的值。箭頭函數(shù)并沒有方法,不能被用作構(gòu)造函數(shù),如果通過的方式調(diào)用,會報錯。 回顧 我們先來回顧下箭頭函數(shù)的基本語法。 ES6 增加了箭頭函數(shù): let func = value => value; 相當于: let func = function (value) { return ...
摘要:基本用法允許使用箭頭定義函數(shù)。不可以當作構(gòu)造函數(shù),也就是說,不可以使用命令,否則會拋出一個錯誤。箭頭函數(shù)綁定,很大程度上解決了這個困擾。函數(shù)綁定箭頭函數(shù)可以綁定對象,大大減少了顯式綁定對象的寫法。 基本用法ES6允許使用箭頭(=>)定義函數(shù)。 var f = v => v;上面的箭頭函數(shù)等同于: var f = function(v) { return v;};如果箭頭函數(shù)不需要參數(shù)...
閱讀 2014·2021-09-22 16:05
閱讀 9336·2021-09-22 15:03
閱讀 2894·2019-08-30 15:53
閱讀 1707·2019-08-29 11:15
閱讀 917·2019-08-26 13:52
閱讀 2361·2019-08-26 11:32
閱讀 1811·2019-08-26 10:38
閱讀 2576·2019-08-23 17:19