javascript中的bind()
bind()方法在ECMAScript5中新定義的,這個方法會建立一個函式的例項,其this值會被繫結到傳給bind()函式的值,該函式可傳入兩個引數第一個引數作為this,第二個及以後的引數則作為函式的引數呼叫。具體作用如下:
1、建立繫結函式
就是當我們呼叫某些函式的時候是要在特定環境下才能呼叫到,所以我們就要把函式放在特定環境下,就是使用bind把函式繫結到特定的所需的環境下。
2、讓函式擁有預設的引數
使用bind()方法使函式擁有預設的初始引數,這些引數會排在最前面,傳給繫結函式的引數會跟在它們後面
3、setTineout()的使用
正常情況下,呼叫setTimeout的時候this會指向全域性物件,但是使用類的方法時我們需要指向類的例項,所以要把this,繫結要回調函式方便繼續使用例項
4、把類陣列轉換為陣列。
利用call和apply去實現轉換。
但是,個人理解,其常用作用是改變this的指向。
https://www.cnblogs.com/xxxxBW/p/4914567.html
同時,在jQuery中也有bind().
相關推薦
Javascript中bind,call,apply模擬實現
Function.prototype.bindFake = function(context) { let fn = this; let arr = Array.prototype.slice.call(arguments, 1); re
javascript中bind()函式實現和應用以及多次bind的結果和引數位置的思考
改變物件方法裡this的值var ob = { name: 'joe', getName: function () { alert(this.name); } }; // 改變getName方法裡原本的this物件為新物件{name: 'haha'} var app = ob.getName.bi
JavaScript中bind、call、apply函式用法詳解
在給我們專案組的其他程式介紹 js 的時候,我準備了很多的內容,但看起來效果不大,果然光講還是不行的,必須動手。前幾天有人問我關於程式碼裡 call() 函式的用法,我讓他去看書,這裡推薦用js 寫伺服器的程式猿看《javascript程式設計精粹》 這本書,crockfo
javascript中bind繫結接收者與函式柯里化
如果我要遍歷一個數組, 我只要給forEach傳一個匿名函式即可,很簡單; let arr = ['a', 'b', 'c']; arr.forEach((item, index) => { console.log(item); console.log(index); })
面試官:能解釋一下javascript中bind、apply和call這三個函式的用法嗎
一.前言 不知道大家還記不記得前一篇文章:《面試官:能解釋一下javascript中的this嗎》 那今天這篇文章雖然是介紹javascript中bind、apply和call函式,但是多少也和this有點關聯。 假如在前面那場面試末尾,面試官不依不饒繼續問你javascr
JavaScript中的call、apply、bind是怎麽回事?
ava 利用 參數 lock 們的 app scrip lac target 在JS中,這三者都是用來改變函數的this對象的指向的,他們有什麽樣的區別呢。在說區別之前還是先總結一下三者的相似之處:1、都是用來改變函數的this對象的指向的。2、第一個參數都是this要
javascript中apply,call,bind區別,bind兼容等問題總結
scrip 總結 區別 call script 例子 獲取 log app 1 三者的相似之處: (1).都是用來改變函數的this對象的指向的 (2).都是用第一個參數來做this對象的指向 (3).都可以傳參數進去 那麽,具體到它們有什麽區別呢?請看下
深入淺出 妙用Javascript中apply、call、bind
com alt apply all 如何使用 name 深入 期待 單體模式 網上文章雖多,大多復制粘貼,且晦澀難懂,我希望能夠通過這篇文章,能夠清晰的提升對apply、call、bind的認識,並且列出一些它們的妙用加深記憶。 apply、call 在 ja
javascript中call、apply、bind詳解
組裝 div 分析 rgs 特性 類型 bind詳解 中修改 不支持 1.apply和call的區別在哪裏 2.什麽情況下用apply,什麽情況下用call 3.apply的其他巧妙用法(一般在什麽情況下可以使用apply) 我首先從網上查到關於apply和
JavaScript中的bind方法及其常見應用
bind 支持 peer doc func 被調用 程序 引用 AC 一、bind()方法的實現 在JavaScript中,方法往往涉及到上下文,也就是this,因此往往不能直接引用。就拿最常見的console.log("info…")來說,避免書寫冗長的console
JavaScript中的call,apply,bind的使用
call、apply、bind一、call call(thisObj,arg1,arg2,arg...)定義:調用一個對象的方法,以另一個對象替換當前對象。說明:call方法可以用來代替另一個對象調用一個方法。call方法可以將一個函數對象的上下文改變為由thisObj指定的新對象。thisObj的取值有以下
JavaScript中call,apply,bind方法的總結
rom 先來 cnblogs 多個參數 java nat htm 必須 src why?call,apply,bind幹什麽的?為什麽要學這個? 一般用來指定this的環境,在沒有學之前,通常會有這些問題。 var a = { user:"追夢子",
JavaScript中call,apply,bind方法
沒有 tar lB 自己的 什麽 發現 java extern cnblogs why?call,apply,bind幹什麽的?為什麽要學這個? 一般用來指定this的環境,在沒有學之前,通常會有這些問題。 var a = { user:"追夢子",
javascript中的call(),apply(),bind()方法的區別
java name 傳遞參數 efi 逗號 console wrapper display 相同 之前一直迷惑,記不住call(),apply(),bind()的區別。不知道如何使用,一直處於懵懂的狀態。直到有一天面試被問到了這三個方法的區別,所以覺得很有必要總結一下。 如
javascript中的bind()
bind()方法在ECMAScript5中新定義的,這個方法會建立一個函式的例項,其this值會被繫結到傳給bind()函式的值,該函式可傳入兩個引數第一個引數作為this,第二個及以後的引數則作為函式的引數呼叫。具體作用如下: 1、建立繫結函式 就是當我們呼叫某些函式的時候是要在特定環境下
javascript中call()、apply()、bind()的用法
javascript中call()、apply()、bind()的用法 其實是一個很簡單的東西,認真看十分鐘就從一臉懵B 到完全 理解! 先看明白下面: 例1 obj.objAge; //17 obj.myFun() //小張年齡undefined 例2 show
JavaScript中的call、apply、bind用法
這三種都是用來明確指定 this 關鍵字所指物件到底是誰。 Function.prototype.call() call() 方法呼叫一個函式, 其具有一個指定的this值和分別地提供的引數(引數的列表)。 語法 fun.call(thisArg, arg1, arg2, ...
JavaScript中的call()和apply()以及bind()方法
JavaScript中的call()和apply()以及bind()方法 目錄 JavaScript中的call()和apply()以及bind()方法 1、首先我們來看看this指向的理解 2、接下來看看this遇到return時的情形 3、call() 4、apply()
JavaScript中的this、apply()、call()、bind()
this this是函式執行時基於函式的執行環境繫結的,指向最後呼叫它的那個物件。 例1: function a(){ var name= "Carol"; console.log(this.user); //undefined console.log(t
javascript中apply、call和bind的區別
在JS中,這三者都是用來改變函式的this物件的指向的,他們有什麼樣的區別呢。在說區別之前還是先總結一下三者的相似之處: 都是用來改變函式的this物件的指向的。 第一個引數都是this要指向的物件。 都可以利用後續引數傳參。 區別在哪裡的,先看一個例子 var xw