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
- Javascript - apply、call、bindJavaScriptAPP
- JavaScript-apply、bind、callJavaScriptAPP
- JavaScript重識bind、call、applyJavaScriptAPP
- [譯] Javascript: call()、apply() 和 bind()JavaScriptAPP
- JavaScript中的call()和apply()JavaScriptAPP
- JavaScript 中的 apply、call、bindJavaScriptAPP
- 詳解 JavaScript的 call() 和 apply()JavaScriptAPP
- 快速掌握javascript的apply()和call()方法JavaScriptAPP
- JavaScript深入理解系列:call與applyJavaScriptAPP
- JavaScript中call,apply,bind方法的總結。JavaScriptAPP
- JavaScript自我實現系列(2):call,apply,bindJavaScriptAPP
- 淺談JavaScript中的apply、call和bindJavaScriptAPP
- JavaScript之call, apply, bind, new的實現JavaScriptAPP
- javascript之模擬call以及apply實現JavaScriptAPP
- 談談JavaScript中的call、apply和bindJavaScriptAPP
- [譯] 如何在 JavaScript 中使用 apply(?),call(?),bind(➰)JavaScriptAPP
- 對javascript中的call()和apply()的理解JavaScriptAPP
- javascript的call apply和new原理剖析 [手寫]JavaScriptAPP
- JavaScript進階之模擬call,apply和bindJavaScriptAPP
- 前端戰五渣學JavaScript——call、apply以及bind前端JavaScriptAPP
- javascript中call()、apply()、bind()的用法終於理解JavaScriptAPP
- JavaScript中apply、call、bind的區別與用法JavaScriptAPP
- JavaScript專題之模擬實現call和applyJavaScriptAPP
- JavaScript—call, apply, bind 函式能幹啥?(全)(20)JavaScriptAPP函式
- JavaScript 深入之 call 和 apply 的模擬實現JavaScriptAPP
- 跟我學習javascript的call(),apply(),bind()與回撥JavaScriptAPP
- javascript 物件導向學習(三)——this,bind、apply 和 callJavaScript物件APP
- Javascript是如何工作的: Engine, Runtime 和 Call Stack的概述JavaScript
- 【JavaScript】深入理解call,以及與apply、bind的區別JavaScriptAPP
- Javascript記憶體溢位,FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memoryJavaScript記憶體溢位ErrorASTAI
- 理解call和實現call
- call() 方法
- IPC call
- __call__
- 《JavaScript設計模式與開發實踐》基礎篇(1)—— this、call 和 applyJavaScript設計模式APP
- JavaScript進階教程(4)-函式內this指向解惑call(),apply(),bind()的區別JavaScript函式APP
- 02 #### `__call__` ,物件(),自動執行call 方法物件