首頁 > web前端 > 前端問答 > jquery中apply()方法怎麼用

jquery中apply()方法怎麼用

WBOY
發布: 2022-04-24 17:35:32
原創
1991 人瀏覽過

在jquery中,apply()方法用來改變this指向,使用另一個物件取代目前對象,是應用某一物件的方法,語法為「apply(thisobj,[argarray])」;參數argarray表示的是以陣列的形式進行傳遞。

jquery中apply()方法怎麼用

本教學操作環境:windows10系統、jquery3.2.1版本、Dell G3電腦。

jquery中apply()方法怎麼用

call()方法和apply()方法的作用相同:改變this指向。

具體語法:

apply(thisobj,[argarray])
登入後複製

apply()方法與call()方法作用是差不多的,區別在於參數的傳遞形式上,apply()方法只有兩個參數,thisobj參數與call()方法中的用法相同,第二個參數argarray是以數組的形式傳遞,這一點與call()不同,call()除thisobj外,可以傳遞多個單獨的參數。

兩個方法在參數的組織形式上稍有差別,功能差不多。

call方法的呼叫物件一般為某一個函數,函數本身也是一種物件。

第一個參數thisobj是函數物件新的上下文,根據thisobj物件的不同,函數的執行上下文可能會不一樣,如果不傳thisobj參數,預設的上下文是全域window.

範例如下:

例如:

    <script>
 
        var a = 1, b = 1;
 
        function add(a, b)
        {
            alert(this.a + this.b);
        }
 
        var s = {};
        s.a = 5;
        s.b = 1;
 
        add.call();
        //alert(2)
 
        add.call(s, 3, 1);
        //alert(6)
 
    </script>
登入後複製

add.call()不傳入thisobj參數時,function add中this指向window,輸出結果為2.

add.call(s,3,1),thisobj參數傳入s時,function add中this指向s,所以輸出結果為6.

function add(c, d){
    return this.a + this.b + c + d;
}
var o = {a:1, b:3};
add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16  this指向o
add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34  this指向o
登入後複製

相關影片教學推薦:jQuery影片教學

以上是jquery中apply()方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板