91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js中call、apply、bind有哪些區別

發布時間:2020-04-28 10:50:28 來源:億速云 閱讀:238 作者:小新 欄目:web開發

今天小編給大家分享的是js中call、apply、bind有哪些區別,相信很多人都不太了解,為了讓大家更加了解call、apply、bind的區別,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。

在 javascript 中,call、apply、bind 都是為了改變某個函數運行時的上下文(context)而存在的,換句話說,就是為了改變函數體內部 this 的指向。

js中call、apply、bind有哪些區別

js中call、apply、bind的區別

call、apply、bind三者的區別,可以通過下面這個例子來看。

var obj = {
    x: 81,
};
 
var foo = {
    getX: function() {
        return this.x;
    }
}
 
console.log(foo.getX.bind(obj)());  //81
console.log(foo.getX.call(obj));    //81
console.log(foo.getX.apply(obj));   //81

三個輸出的都是81,但是注意看使用 bind() 方法的,他后面多了對括號

也就是說,區別是,當你希望改變上下文環境之后并非立即執行,而是回調執行的時候,使用 bind() 方法。而 apply/call 則會立即執行函數。

總結一下:

apply 、 call 、bind 三者都是用來改變函數的this對象的指向的;

apply 、 call 、bind 三者第一個參數都是this要指向的對象,也就是想指定的上下文;

apply 、 call 、bind 三者都可以利用后續參數傳參;

bind 是返回對應函數,便于稍后調用;

apply 、call 則是立即調用 。

關于js中call、apply、bind有哪些區別就分享到這里了,希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽中县| 和林格尔县| 屯昌县| 安乡县| 得荣县| 永善县| 上饶县| 桦甸市| 辛集市| 通城县| 夏津县| 柯坪县| 福清市| 渭南市| 阳曲县| 天门市| 凤凰县| 攀枝花市| 北安市| 邻水| 昆明市| 碌曲县| 礼泉县| 聂拉木县| 仁寿县| 广南县| 田东县| 通江县| 醴陵市| 崇礼县| 略阳县| 凤台县| 虎林市| 元谋县| 大城县| 麦盖提县| 金门县| 安顺市| 奉新县| 牡丹江市| 清新县|