中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

浑源县| 宁明县| 额济纳旗| 固始县| 洛隆县| 安平县| 满洲里市| 东乌珠穆沁旗| 肃南| 邵东县| 会昌县| 汽车| 福清市| 托里县| 宿州市| 加查县| 武陟县| 合江县| 玉门市| 武川县| 嘉定区| 龙门县| 黔西县| 龙里县| 仁寿县| 鄂州市| 湘潭县| 巢湖市| 古交市| 宜宾市| 枣庄市| 辽阳县| 资讯| 铜川市| 双城市| 辛集市| 临泉县| 南昌县| 桃园县| 潮安县| 广宗县|