JavaScript call()
call方法可以改變其他方法(函式)的呼叫物件,方法內的this也會指向新的呼叫物件。
此方法與apply方法功能類似,具體參閱JavaScript apply()一章節。
特別說明:apply對箭頭函式無效。
語法結構:
[JavaScript] 純文字檢視 複製程式碼fn.call(thisobj,arg1,arg2,...)
引數解析:
(1).fn:要被改變呼叫物件的方法或者函式。
(2).thisobj:必需,fn的新呼叫物件,fn中的this將會指向此物件。
(3).arg:可選,傳遞給fn的引數。
瀏覽器支援:
(1).IE瀏覽器支援此方法。
(2).edge瀏覽器支援此方法。
(3).谷歌瀏覽器支援此方法。
(4).opera瀏覽器支援此方法。
(5).火狐瀏覽器支援此方法。
(6).safria瀏覽器支援此方法。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var obj={ webName:"螞蟻部落" } var webName="baidu"; function fn(){ console.log(this.webName); } fn(); fn.call(obj)
程式碼執行效果截圖如下:
程式碼分析如下:
(1).預設狀態下,呼叫fn函式,函式中的this指向window物件,所以列印結果為"baidu"。
(2).通過call方法將fn的呼叫物件修改obj,那麼fn中的this也就指向obj,於是列印結果為"螞蟻部落"。
[JavaScript] 純文字檢視 複製程式碼執行程式碼var obj = { webName:"螞蟻部落" } function fn(x,y){ console.log(this.webName); console.log(x + y) } fn.call(obj, 2, 3);
程式碼執行效果截圖如下:
程式碼分析如下:
(1).通過call方法將fn函式的呼叫物件修改obj,那麼fn中this指向obj。
(2).call方法從第二個引數開始的所有引數都是為fn傳遞的引數,也就是將引數2和3傳遞給fn。
相關文章
- [Javascript] Write .call()JavaScript
- 天天打call, 你可知道javascript中的call?JavaScript
- Javascript - apply、call、bindJavaScriptAPP
- javascript array.property.slice.callJavaScript
- JavaScript-apply、bind、callJavaScriptAPP
- JavaScript中的call()和apply()JavaScriptAPP
- [譯] Javascript: call()、apply() 和 bind()JavaScriptAPP
- JavaScript重識bind、call、applyJavaScriptAPP
- JavaScript 中的 apply、call、bindJavaScriptAPP
- 詳解 JavaScript的 call() 和 apply()JavaScriptAPP
- javascript -- apply/call/bind的區別JavaScriptAPP
- Javascript - 全面理解 caller,callee,call,applyJavaScriptAPP
- JavaScript深入理解系列:call與applyJavaScriptAPP
- javascript call()函式用法簡單介紹JavaScript函式
- 快速掌握javascript的apply()和call()方法JavaScriptAPP
- 快速理解JavaScript中call和apply原理JavaScriptAPP
- Kotlin-48.JavaScript呼叫Kotlin(Call Kotlin from JavaScript)KotlinJavaScript
- JavaScript中call,apply,bind方法的總結。JavaScriptAPP
- [譯] 如何在 JavaScript 中使用 apply(?),call(?),bind(➰)JavaScriptAPP
- 談談JavaScript中的call、apply和bindJavaScriptAPP
- javascript之模擬call以及apply實現JavaScriptAPP
- JavaScript之call, apply, bind, new的實現JavaScriptAPP
- JavaScript自我實現系列(2):call,apply,bindJavaScriptAPP
- 對javascript中的call()和apply()的理解JavaScriptAPP
- 淺談JavaScript中的apply、call和bindJavaScriptAPP
- JavaScript 中call apply 那點簡單事JavaScriptAPP
- JavaScript中call,apply,bind方法的總結JavaScriptAPP
- 深入淺出 妙用Javascript中apply、call、bindJavaScriptAPP
- 深入淺出妙用 Javascript 中 apply、call、bindJavaScriptAPP
- JavaScript進階之模擬call,apply和bindJavaScriptAPP
- javascript的call apply和new原理剖析 [手寫]JavaScriptAPP
- 前端戰五渣學JavaScript——call、apply以及bind前端JavaScriptAPP
- javascript中call()、apply()、bind()的用法終於理解JavaScriptAPP
- JavaScript中apply、call、bind的區別與用法JavaScriptAPP
- JavaScript中bind、call、apply函式用法詳解JavaScriptAPP函式
- 函式式JavaScript(3):.apply()、.call() 和arguments物件函式JavaScriptAPP物件
- javascript 物件導向學習(三)——this,bind、apply 和 callJavaScript物件APP
- JavaScript 深入之 call 和 apply 的模擬實現JavaScriptAPP