JavaScript中call()和apply() 的一些理解

    時間:2024-09-16 17:00:20 JavaScript 我要投稿
    • 相關推薦

    關于JavaScript中call()和apply() 的一些理解

      關于JavaScript中call()和apply() 的一些理解

      call()方法和apply()方法,在上層應用中用的不是很多,但在底層寫JS框架的時候卻常常看到。然后度娘谷哥一番,也發現好多達人寫出了自己的理解和筆記,但始終還是云里霧里,于是去W3C學習了下

      在W3C網上研究這兩個方法的時候,看到一個詞語,叫“對象冒充”,這個概念本人覺得還是挺重要的,讓我對這兩個方法理解起來更加直觀。

      call()方法,看下官方給出的例子

      function sayColor(sPrefix,sSuffix) { alert(sPrefix + this.color + sSuffix);};var obj = new Object();obj.color = "blue";sayColor.call(obj, "The color is ", "a very nice color indeed.");

      最后輸出的結果是“The color is blue, a very nice color indeed.”

      call()方法就是將第一個參數替換方法中的this,然后后面的參數傳入該方法使用

      apply()方法,同樣先看個官方給出的例子

      function sayColor(sPrefix,sSuffix) { alert(sPrefix + this.color + sSuffix);};var obj = new Object();obj.color = "blue";sayColor.apply(obj, new Array("The color is ", "a very nice color indeed."));

      最后輸出的結果仍然是“The color is blue, a very nice color indeed.”

      其實call()方法和apply()方法可以粗略的認為是差不多的,第一個參數都是替換方法中this關鍵字,只是后面傳給方法的傳參方式不同,call是直接對應,apply是利用數組,在數組中一一對應

      

    【JavaScript中call()和apply() 的一些理解】相關文章:

    對javascript的理解08-08

    javascript面向對象中的對象怎么理解09-02

    淺談javascript中的單線程理解08-16

    有關深入理解JavaScript中的并行處理的介紹10-14

    理解JavaScript原型鏈教程09-02

    javascript的閉包概念怎么理解06-15

    Javascript中arguments對象的詳解和使用方法08-20

    JavaScript中的with關鍵字07-24

    在Java中執行JavaScript代碼07-14

    Javascript中typeof 用法歸納09-27

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      欧美日韩国产在线观看网站 | 欧美视频精品一区二区 | 久久人精品婷婷香蕉 | 日本一区不卡高清更新区 | 亚洲一区二区三区四区久久 | 亚洲国产黄在线观看 |