摘要:基本知識在中屬于經(jīng)常使用的一個對象。下面將描述一些案例,帶領(lǐng)大家了解。這里并沒有發(fā)生你們預(yù)想的而是這個例子表明了,的綁定只受到最近的成員影響。需要正常的執(zhí)行,才能運行。函數(shù)綁定運算符是并排的兩個冒號這個提案,現(xiàn)在暫時只有支持。
基本知識
this在JavaScript中屬于經(jīng)常使用的一個對象。在定義中,在Javascript中this總是指向調(diào)用它所在方法的對象,誰發(fā)起了調(diào)用,this將指向誰。
下面將描述一些案例,帶領(lǐng)大家了解this。
全局情況下的thisfunction test () { console.log(this) } test()
直接輸出了window對象,因為JS在查找的時候,發(fā)現(xiàn)this的指向是undefined,那么在JS會將this指向到window上。
"use strict" function test () { console.log(this) } test()
嚴格模式下,JS是不會將this指向到window上,所以輸出是undefined。
調(diào)用情況下的thisvar obj = { name:"hero" } function test () { console.log(this) } obj.test = test obj.test()
這個代碼很好的展示了,由誰調(diào)用,this就會被指向調(diào)用方所在對象。
現(xiàn)在我們來思考一下,這種情況。
var obj = { name:"hero", proxy:{ name:"proxy hero" } } function test () { console.log(this) } obj.proxy.test = test console.log("obj.proxy.test") obj.proxy.test() var _p = obj.proxy console.log("_p.test") _p.test()
這里并沒有發(fā)生你們預(yù)想的
obj.proxy.test {name: "hero", proxy: {name: "proxy hero", test: ?}} _p.test {name: "proxy hero", test: ?}
而是
obj.proxy.test {name: "proxy hero", test: ?} _p.test {name: "proxy hero", test: ?}
這個例子表明了,this的綁定只受到最近的成員影響。所以,此時的this被綁定在proxy上。
call,apply,bind的thisvar obj = { name:"hero", test (postString) { console.log(this,postString) } } var obj2 = {name:"super hero"} obj.test.call(obj2,"call") obj.test.apply(obj2,["apply"])
call,apply的機制是一樣的,都是直接修改了內(nèi)部this的指向。唯一的區(qū)別是call傳入?yún)?shù)是挨個傳入,apply是傳入一整個參數(shù)數(shù)組。
var obj = { name:"hero", test (postString) { console.log(this,postString) } } var obj2 = {name:"super hero"} obj.test.bind(obj2)("bind")
bind的機制與其他兩個是不一樣的,通俗的來說,就是bind設(shè)置之后,是蓄勢待發(fā)。需要正常的執(zhí)行,才能運行。這在react中經(jīng)常使用。
在ES6提案中,你還可以使用這種方式進行bind。
// 函數(shù)綁定運算符是并排的兩個冒號(::) var k = obj2::obj.test k("::bind")
這個提案,現(xiàn)在暫時只有babel支持。
參考資料https://developer.mozilla.org...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/97159.html
摘要:百度大搜和度秘面經(jīng)百度內(nèi)推投了倆部門前前后后總計面了六輪來寫寫面經(jīng)攢攢人品大搜是十幾號面的度秘今天面完下面記錄一些我認為比較有價值的問題沒寫全問的問題太多而且有些也記不清了心累我是分割線下面講正經(jīng)的大搜大搜在百度現(xiàn)場面三小時面完三輪荒郊野外 百度大搜和度秘面經(jīng) 百度內(nèi)推投了倆部門,前前后后總計面了六輪,來寫寫面經(jīng),攢攢人品.大搜是十幾號面的,度秘今天面完.下面記錄一些我認為比較有價值...
摘要:百度大搜和度秘面經(jīng)百度內(nèi)推投了倆部門前前后后總計面了六輪來寫寫面經(jīng)攢攢人品大搜是十幾號面的度秘今天面完下面記錄一些我認為比較有價值的問題沒寫全問的問題太多而且有些也記不清了心累我是分割線下面講正經(jīng)的大搜大搜在百度現(xiàn)場面三小時面完三輪荒郊野外 百度大搜和度秘面經(jīng) 百度內(nèi)推投了倆部門,前前后后總計面了六輪,來寫寫面經(jīng),攢攢人品.大搜是十幾號面的,度秘今天面完.下面記錄一些我認為比較有價值...
摘要:百度大搜和度秘面經(jīng)百度內(nèi)推投了倆部門前前后后總計面了六輪來寫寫面經(jīng)攢攢人品大搜是十幾號面的度秘今天面完下面記錄一些我認為比較有價值的問題沒寫全問的問題太多而且有些也記不清了心累我是分割線下面講正經(jīng)的大搜大搜在百度現(xiàn)場面三小時面完三輪荒郊野外 百度大搜和度秘面經(jīng) 百度內(nèi)推投了倆部門,前前后后總計面了六輪,來寫寫面經(jīng),攢攢人品.大搜是十幾號面的,度秘今天面完.下面記錄一些我認為比較有價值...
摘要:春招結(jié)果五月份了,春招已經(jīng)接近尾聲,因為到了周五晚上剛好有空,所以簡單地記錄一下自己的春招過程。我的春招從二月初一直持續(xù)到四月底,截止今天,已經(jīng)斬獲唯品會電商前端研發(fā)部大數(shù)據(jù)與威脅分析事業(yè)部京東精銳暑假實習(xí)生的騰訊的是早上打過來的。 春招結(jié)果 五月份了,春招已經(jīng)接近尾聲,因為到了周五晚上剛好有空,所以簡單地記錄一下自己的春招過程。我的春招從二月初一直持續(xù)到四月底,截止今天,已經(jīng)斬獲唯品...
閱讀 2706·2023-04-26 02:17
閱讀 1704·2021-11-24 09:39
閱讀 1149·2021-11-18 13:13
閱讀 2952·2021-09-02 15:11
閱讀 2892·2019-08-30 15:48
閱讀 3479·2019-08-30 14:00
閱讀 2547·2019-08-29 13:43
閱讀 718·2019-08-29 13:07