首頁 >web前端 >js教程 >javaScript使用call和apply

javaScript使用call和apply

php中世界最好的语言
php中世界最好的语言原創
2018-03-14 11:23:511247瀏覽

這次帶給大家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中文網其它相關文章!

推薦閱讀:

HTTP的基礎知識

#javaScript的物件詳解

#

以上是javaScript使用call和apply的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn