您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何在javascript中使用call方法,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
js中call()方法的用法
1.call方法
語法:call(thisobj,[argq,arg2])
定義:調用一個對象的一個方法,以另一個對象替換當前對象
說明:
call方法可以用來代替一個對象調用一個方法,call方法可以將一個函數的對象上下文從初始化改為新的對象,也就是括號里面的原本的對象改為call()前面的對象、即用thisobj代替call前面的東西,最終用thisobj這個對象去執行call前面的方法。
如果沒有提供 thisObj 參數,那么 Global 對象被用作 thisObj。
一如
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js中call方法的使用</title> </head> <body> <p id="id1">新年</p> </body> </html> <script> function add(a,b){ alert(a+b); } function sub(a,b){ alert(a-b); } document.getElementById("id1").onclick = function(){ add.call(sub,3,1); } </script>
add代替sub ,最總結過輸出
這個例子中的意思就是用 add 來替換 sub,add.call(sub,3,1) == add(3,1) ,所以運行結果為:alert(4); // 注意:js 中的函數其實是對象,函數名是對 Function 對象的引用。
【推薦學習:javascript高級教程】
2.apply方法
語法:apply(thisobj,[argArray])
定義:應用某一個對象的一個方法,用別另一個對象替換當前對象
說明:
如果 argArray 不是一個有效的數組或者不是 arguments 對象,那么將導致一個 TypeError。
如果沒有提供 argArray 和 thisObj 任何一個參數,那么 Global 對象將被用作 thisObj, 并且無法被傳遞任何參數。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js中call方法的使用</title> </head> <body> <p id="id1">新年</p> </body> </html> <script> function Animal(){ this.name = "Animal"; this.showName=function(){ alert(this.name); } } function Cat(){ this.name = "Cat"; } document.getElementById("id1").onclick = function(){ var animal = new Animal(); var cat = new Cat(); // 通過call或apply方法,將原本屬于Animal對象的showName方法交給對象call來使用了 animal.showName.apply(cat,[]); animal.showName.call(cat,","); } </script>
注意apply的參數和call方法的參數是不同的,apply是一個數組
3.call實現js的繼承
上述就是小編為大家分享的如何在javascript中使用call方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。