js call方法

call(obj)
這個(gè)方法的作用是將函數(shù)代碼塊中的this指向替換成obj
例如

var obj = {};
function Person(){
    console.log(this);
}
Person.call(obj);
結(jié)果是 打印obj對(duì)象

大概原理 :
在調(diào)用call方法的時(shí)候:
var code = this.tostring.replace('this','obj');
eval(code);
this();

// 第一行代碼的this代表的是調(diào)用這個(gè)方法的函數(shù) tostring將袋鼠代碼快變?yōu)樽址?再進(jìn)行替換 eval的作用是將字符串等作為js表達(dá)式來(lái)執(zhí)行返回一個(gè)object 第三行此時(shí)的this中的this已經(jīng)被改變 執(zhí)行原來(lái)的函數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,684評(píng)論 0 4
  • **call 方法 **請(qǐng)參閱應(yīng)用于:Function 對(duì)象要求版本 5.5調(diào)用一個(gè)對(duì)象的一個(gè)方法,以另一個(gè)對(duì)象替...
    CHEN_Erhui閱讀 4,284評(píng)論 1 7
  • call方法做什么用的? javascript 中關(guān)于call方法的詳解。 - 追逐云端 - 博客園 指定this...
    鴨梨山大哎閱讀 951評(píng)論 0 2
  • 大清早的,剛六點(diǎn),朦朧著眼睛翻開(kāi)手機(jī),稀里嘩啦一大推,就有朋友把我給灌懵了——王寶強(qiáng)離婚了,她妻子出軌了,確切的說(shuō)...
    琢磨公子閱讀 829評(píng)論 0 0
  • 實(shí)現(xiàn)攔截UIViewController的pop操作有兩種方式: 自定義實(shí)現(xiàn)返回按鈕,即設(shè)置UIBarButton...
    coolwxb閱讀 772評(píng)論 0 0

友情鏈接更多精彩內(nèi)容