真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript普通函數(shù)和箭頭函數(shù)有哪些區(qū)別-創(chuàng)新互聯(lián)

這篇文章主要介紹JavaScript普通函數(shù)和箭頭函數(shù)有哪些區(qū)別,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

站在用戶的角度思考問題,與客戶深入溝通,找到思禮網(wǎng)站設計與思禮網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋思禮地區(qū)。

我常常的使用箭頭函數(shù),卻還沒有對箭頭函數(shù)有個深入的了解,現(xiàn)在找一下這2個函數(shù)的不同點

1. 箭頭函數(shù)本身沒有prototype(原型)

由于箭頭函數(shù)沒有原型,因此箭頭函數(shù)本身沒有this

let a = () => {}
console.log(a.prototype) // undefined
let b = function () {}
console.log(b.prototype) // Object
2. 箭頭函數(shù)的this指向在定義的時候繼承自外層第一個普通函數(shù)的this
let a;
let barObj = {
    msg: 'bar的this指向'
}
let fooObj = {
    msg: 'foo的this指向'
}
bar.call(barObj)
foo.call(fooObj) // { msg: 'bar的this指向'  }
bar.call(fooObj)
a() // { msg: 'foo的this指向' }

function foo() {
    a()
}
function bar () {
    a = () => {
        console.log(this)
    }
}

從上面例子中可以得出:

箭頭函數(shù)的this指向定義時所在的外層第一個普通函數(shù),跟使用位置沒有沒有關系

被繼承的普通函數(shù)的this指向改變,箭頭函數(shù)的this也會跟著改變。

不能直接修改箭頭函數(shù)的this

可以通過修改被繼承的普通函數(shù)的this指向,然后箭頭函數(shù)的this也會跟著改變

3. 箭頭函數(shù)使用arguments

let b = () => {
        console.log(arguments);
    }
    b(1,2,3,4) // arguments is not defined

    function bar () {
        console.log(arguments);  // 完成第二個普通函數(shù)
        bb('完成第一個普通函數(shù)')
        function bb() {
            console.log(arguments); // 完成第一個普通函數(shù)
            let a = () => {
                console.log(arguments); // 完成第一個普通函數(shù)
            }
            a('箭頭函數(shù)')
        }
    }
    bar('完成第二個普通函數(shù)')

從上面可以得出以下2點

  1. 箭頭函數(shù)指向window時,arguments會報未定義的錯誤
  2. 如果不是window,那么就是外層第一個普通函數(shù)的arguments

4. 箭頭函數(shù)不可以使用new

無論箭頭函數(shù)的this指向哪里,使用new調用箭頭函數(shù)都會報錯,箭頭函數(shù)沒有構造函數(shù)

let a = () => {}
    let b = new a() // a is not a constructor

以上是JavaScript普通函數(shù)和箭頭函數(shù)有哪些區(qū)別的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


本文標題:JavaScript普通函數(shù)和箭頭函數(shù)有哪些區(qū)別-創(chuàng)新互聯(lián)
當前地址:http://weahome.cn/article/gjpes.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部