function的方法.apply和.call


所有的函數都是Function這個對象的實例,所以每一個函數都有apply、call的方法以及prototype的屬性。

myFunc.call(theObj, arg1, arg2....)的作用是執行myFunc函數,其參數為arg1, arg2...,但和一般的執行有些區別,這里它重新指定了myFunc的主體對象,也就是說,原來假設myFunc是myObj的一個成員函數或者myFunc是一個全局函數,現在就讓它作為theObj的一個成員函數來執行,myFunc內部的this,就指代theObj

myFunc.apply(theObj, arguments)的作用和myFunc.call類似,theObj也是作為新指定的主體對象,只不過它把參數列表都封裝到arguments數組中了。它一般是用來在一個函數內執行另一個函數,而需要成批傳輸參數,或者參數的個數事先不知道的情況下的。

mF.call和mF.apply:
不同在:參數形式

vervethe:
相同的好處是:
 可臨時扮演任何對象的成員
 利於將用戶輸入的內容解析給函數,來執行

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com