【js學習筆記十七】普通函數(shù)中的this指向問題解決方案call
?
目錄
前言
導語
?解決思路
運行結(jié)果
總結(jié)
前言
我是歌謠 我有個兄弟 巔峰的時候排名c站總榜19 叫前端小歌謠 曾經(jīng)我花了三年的時間創(chuàng)作了他 現(xiàn)在我要用五年的時間超越他 今天又是接近兄弟的一天人生難免坎坷 大不了從頭再來 歌謠的意志是永恒的 放棄很容易 但是堅持一定很酷
導語
歌謠 歌謠 如下的代碼報錯了 怎么解決

//口訣 誰調(diào)用就會指向誰 這邊是普通函數(shù) 直接報錯this.fang is not
a function
? ?var name="geyao"
? ? ?var fangfang = {
? ? ? ?name : "fangfang", ? ? ? ?fang: function () { ? ? ? ? ? ?console.log(this.name)
? ? ? ?}, ? ? ? ?fun: function () { ? ? ? ? ? ?setTimeout( function () { ? ? ? ? ? ? ? ?this.fang()
? ? ? ? ? ?},100);
? ? ? ?}
? ?};
? ?fangfang.fun()
?解決思路
?//口訣 誰調(diào)用就會指向誰 這邊是普通函數(shù) 直接報錯this.fang is not a function
? ?var name="geyao"
? ? ?var fangfang = {
? ? ? ?name : "fangfang", ? ? ? ?fang: function () { ? ? ? ? ? ?console.log(this.name)
? ? ? ?}, ? ? ? ?fun: function () { ? ? ? ? ?
? ? ? ? ? ?setTimeout( function () { ? ? ? ? ? ? ? ?this.fang()
? ? ? ? ? ?}.call(fangfang),100);
? ? ? ?}
? ?};
? ?fangfang.fun()
運行結(jié)果
fangfang
總結(jié)
call()
?方法使用一個指定的this
值和單獨給出的一個或多個參數(shù)來調(diào)用一個函數(shù)。