這次帶給大家javaScript使用call和apply,javaScript使用call和apply的注意事項有哪些,下面就是實戰案例,一起來看一下。
call方法:
語法:call(thisObj,Object)
定義:呼叫一個物件的一個方法,以另一個物件替換當前物件。
說明:
call 方法可以用來取代另一個物件呼叫一個方法。 call 方法可將一個函數的物件上下文從初始的上下文改變為由 thisObj 指定的新物件。
如果沒有提供 thisObj 參數,那麼 Global 物件被用作 thisObj。
apply方法:
語法:apply(thisObj,[argArray])
定義:套用某一物件的一個方法,用另一個物件取代目前物件。
說明:
如果 argArray 不是一個有效的陣列或不是 arguments 對象,那麼將會導致一個 TypeError。
如果沒有提供 argArray 和 thisObj 任何一個參數,那麼 Global 物件將被用作 thisObj, 並且無法被傳遞任何參數。
eg1:
var pet={ words:'...', speak:function(say){ console.log(say+' '+this.words) } }var dog={ words:'Wang'} pet.speak.call(dog,'speak') //speak Wang
eg2
function Pet(word){ this.word=word; this.speak=function(){ console.log(this.word) } }function Dog(word){ Pet.call(this,word) //Pet.apply(this,arguments); 二者选其一即可}var dog=new Dog('Wang'); dog.speak(); //Wang
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
#以上是javaScript使用call和apply的詳細內容。更多資訊請關注PHP中文網其他相關文章!