一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

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

時(shí)間:2024-09-16 17:00:20 JavaScript 我要投稿
  • 相關(guān)推薦

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

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

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

  在W3C網(wǎng)上研究這兩個(gè)方法的時(shí)候,看到一個(gè)詞語(yǔ),叫“對象冒充”,這個(gè)概念本人覺(jué)得還是挺重要的,讓我對這兩個(gè)方法理解起來(lái)更加直觀(guān)。

  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()方法就是將第一個(gè)參數替換方法中的this,然后后面的參數傳入該方法使用

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

  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.”

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

  

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

對javascript的理解08-08

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

淺談javascript中的單線(xiàn)程理解08-16

有關(guān)深入理解JavaScript中的并行處理的介紹10-14

理解JavaScript原型鏈教程09-02

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

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

JavaScript中的with關(guān)鍵字07-24

在Java中執行JavaScript代碼07-14

Javascript中typeof 用法歸納09-27

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看