日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

call、apply、bind三者的用法和區(qū)別

作者:慢羊羊頭上沒草 更新時(shí)間: 2023-07-27 編程語(yǔ)言
    var obj={
      name:'Li lei',
      age:18,
      intr:function(){
        console.log(`1我叫${this.name},我${this.age}歲`);
      }
    }

    var obj2={
      name:'Han meimei',
      age:20,
      intr:function(){
        console.log(`2I'm ${this.name},I'm ${this.age} years old`);
      }
    }

    // obj.intr.call(obj2)
    // obj2.intr.call(obj)
    // obj.intr.apply(obj2)
    obj.intr.bind(obj2)()

    obj.intr.call( obj2, 20, '中國(guó)' );       //我叫Han meimei,我20歲,我來(lái)自中國(guó)
    obj.intr.apply( obj2, [ 20, '中國(guó)' ] );  //我叫Han meimei,我20歲,我來(lái)自中國(guó)
    obj.intr.bind( obj2, 20, '中國(guó)' )();       //我叫Han meimei,我20歲,我來(lái)自中國(guó)

????????call、apply、bind可以將某個(gè)函數(shù)的this指向修改為傳入這三個(gè)方法中的第一個(gè)參數(shù),其中call、apply會(huì)立即執(zhí)行,bind返回的是一個(gè)函數(shù),需調(diào)用后執(zhí)行。

第二個(gè)參數(shù)是傳入要執(zhí)行的方法中的參數(shù),call、bind是獨(dú)立傳遞參數(shù),apply是以數(shù)組傳遞參數(shù)的

使用場(chǎng)景:
1、需要改變某個(gè)函數(shù)的this指向時(shí)
2、當(dāng)參數(shù)較少時(shí)可以使用call,參數(shù)較多可以使用apply以數(shù)組的方式傳遞
3、當(dāng)需要重復(fù)調(diào)用時(shí),可以使用bind新定義一個(gè)方法
?

原文鏈接:https://blog.csdn.net/yzwlogo/article/details/131735586

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新