<acronym id="indot"><dfn id="indot"></dfn></acronym>
<span id="indot"></span>

<bdo id="indot"><meter id="indot"></meter></bdo>
<label id="indot"><samp id="indot"></samp></label>
<label id="indot"><xmp id="indot">
  • <span id="indot"><table id="indot"></table></span>
    <center id="indot"><optgroup id="indot"></optgroup></center>
  • <bdo id="indot"><meter id="indot"></meter></bdo>
      當前位置:首頁 > javascript > 正文內容

      JS中call aplly bind的區別

      hxing6412年前 (2023-09-26)javascript4211

      call、apply、bind的作用是改變函數運行時this的指向。


      1. call()的第一個參數為this綁定的對象,后面傳入一串參數列表。

      當第一參數為null或undefined時,默認指向window對象。

      2. apply()和call()類似,唯一的不同點在于第二個參數傳入一個參數數組。

      當第一參數為null或undefined時,默認指向window對象。

      3. bind()和call()類似,不同點一bind()不會立即執行,而是返回一個改變了this后的函數


      示例:


      let obj1 = {
         name: 'obj1',
         fn1(param) {
             console.log(this.name, param);
         }
      }
      let obj2 = {
         name: 'obj2',
         fn1(param) {
             console.log(this.name, param);
         }
      }
      
      
      obj1.fn1('param1')                //輸出 obj1 param1
      
      obj1.fn1.call(obj1, 'param1')          //輸出 obj1 param1
      
      obj1.fn1.call(obj2, 'param1')          //輸出 obj2 param1
      
      //apply的第二個參數為參數數組
      obj1.fn1.apply(obj2, ['param1'])         //輸出 obj2 param1
      
      //bind方法返回一個函數,但不會執行,這個函數的參數繼承bind方法的參數
      let fun = obj1.fn1.bind(obj2, 'param')
      fun()   //輸出 obj2 param1



      掃描二維碼推送至手機訪問。

      版權聲明:本文由星星博客發布,如需轉載請注明出處。

      本文鏈接:http://www.7811333.com/?id=414

      分享給朋友:

      “JS中call aplly bind的區別” 的相關文章

      深入理解JavaScript原型鏈

      JavaScript原型鏈是該語言中一個核心的概念,理解它對于成為一名優秀的JavaScript開發者至關重要。在本篇文章中,我們將深入探討JavaScript原型鏈的工作原理、如何使用原型鏈來實現繼承,以及一些與原型相關的最佳實踐。 原型鏈是什么?...

      7個Js async/await高級用法

      JavaScript的異步編程已經從回調(Callback)演進到Promise,再到如今廣泛使用的async/await語法。后者不僅讓異步代碼更加簡潔,而且更貼近同步代碼的邏輯與結構,大大增強了代碼的可讀性與可維護性。在掌握了基礎用法之后,下面將介紹一些高級用法,以便充分利用async/awai...

      微信小程序如何下載外部文件

      小程序下載文件主要是通過轉發文件到聊天進行轉存,以下為具體實現代碼,可以直接拿去用,傳入下載的url:const download = (url) => {   var that = this...

      typescript 中 omit 的理解

      在 TypeScript 中,Omit 是一種非常有用的工具類型,它可以用于創建一個新的類型,這個新類型是從現有類型中排除了指定的屬性后得到的。如果你想要處理一個對象但又不需要包含某些屬性,那么 Omit 可以幫助你快速地創建一個新的類型。 比如說,...

      微前端使用: qiankun

      微前端使用: qiankun

      一、qiankun使用場景1. 簡介qiankun是在single-spa的基礎上實現的,可以保證各個項目獨立使用,也可以集成使用。各系統之間不受技術棧的限制,集成使用也能保證各樣式和全局變量的隔離。模塊的插拔式使用,當公司項目集是一個大系統下包含多個子系統或者模塊時,可以采用這種方式動態部署各個系...

      js字符串總結

      ES5和字符串 一、ES5的語法 js在產生的時候,年代比較早,當時的web需求比較少,所以剛開始的js功能比較少,語法沒有特別嚴謹。隨著時代的發展和web應用的普及,js需要更多的功能,以及更嚴謹的語法,所以,js會有版本的升級。第一版的js是ECM...

      評論列表

      吃瓜群眾
      吃瓜群眾 IP:廣東省
      2年前 (2023-10-04)

      星星前端博客 - JS中call aplly bind的區別-1696413610

      發表評論

      訪客

      ◎歡迎參與討論,請在這里發表您的看法和觀點。
      主站蜘蛛池模板: 狠狠色狠狠色综合网| 亚洲综合色7777情网站777| 亚洲AV综合永久无码精品天堂| 青青热久久综合网伊人| 亚洲婷婷天堂在线综合| 国产成人综合久久精品亚洲 | 伊人久久大香线蕉综合5g| 一本久久综合亚洲鲁鲁五月天| 亚洲乱码中文字幕综合| 色综合久久久无码网中文| 丁香五月亚洲综合深深爱| 色天使久久综合给合久久97色| 久久综合丝袜日本网| HEYZO无码综合国产精品227| 亚洲综合激情视频| 狠狠色丁香久久综合五月| 色欲老女人人妻综合网| 天天影视色香欲综合免费| 伊人不卡久久大香线蕉综合影院| 综合无码一区二区三区四区五区| 狠狠色伊人亚洲综合成人| 久久精品国产亚洲综合色| 精品国产国产综合精品 | 一本色道久久综合亚洲精品高清| 色婷婷综合和线在线| 久久久久久综合一区中文字幕| 99精品国产综合久久久久五月天| 国产成人综合色视频精品| 日韩亚洲国产综合久久久| 天天做天天爱天天爽综合网| 色综合天天娱乐综合网| 色欲综合久久躁天天躁| 国产激情电影综合在线看| 伊人久久综合无码成人网| 一本久久知道综合久久| 99久久国产综合精品2020| 国产成人综合一区精品| 亚洲狠狠婷婷综合久久蜜芽| 综合久久久久久中文字幕| 亚洲综合精品网站| 亚洲综合网美国十次|