當前位置:
首頁 > 知識 > JavaScript 函數參數

JavaScript 函數參數

JavaScript 函數對參數的值沒有進行任何的檢查。



函數顯式參數(Parameters)與隱式參數(Arguments)

在先前的教程中,我們已經學習了函數的顯式參數:

functionName(parameter1, parameter2, parameter3){// 要執行的代碼……}

函數顯式參數在函數定義時列出。

函數隱式參數在函數調用時傳遞給函數真正的值。



JavaScript 函數參數

參數規則

JavaScript 函數定義時顯式參數沒有指定數據類型。

JavaScript 函數對隱式參數沒有進行類型檢測。

JavaScript 函數對隱式參數的個數沒有進行檢測。



默認參數

如果函數在調用時未提供隱式參數,參數會默認設置為: undefined

有時這是可以接受的,但是建議最好為參數設置一個默認值:

實例

functionmyFunction(x, y){if(y === undefined){y = 0; }}

JavaScript 函數參數

或者,更簡單的方式:

實例

functionmyFunction(x, y){y = y || 0;}

如果函數調用時設置了過多的參數,參數將無法被引用,因為無法找到對應的參數名。 只能使用 arguments 對象來調用。



Arguments 對象

JavaScript 函數有個內置的對象 arguments 對象。

argument 對象包含了函數調用的參數數組。

通過這種方式你可以很方便的找到最大的一個參數的值:

實例

x = findMax(1, 123, 500, 115, 44, 88);
functionfindMax(){vari, max = arguments[0];
if(arguments.length < 2)returnmax; for(i = 0; i < arguments.length; i++){if(arguments[i] > max){max = arguments[i]; }}returnmax;}

JavaScript 函數參數

或者創建一個函數用來統計所有數值的和:

實例

x = sumAll(1, 123, 500, 115, 44, 88);
functionsumAll(){vari, sum = 0; for(i = 0; i < arguments.length; i++){sum += arguments[i]; }returnsum;}



通過值傳遞參數

在函數中調用的參數是函數的隱式參數。

JavaScript 隱式參數通過值來傳遞:函數僅僅只是獲取值。

如果函數修改參數的值,不會修改顯式參數的初始值(在函數外定義)。

隱式參數的改變在函數外是不可見的。



通過對象傳遞參數

在JavaScript中,可以引用對象的值。

因此我們在函數內部修改對象的屬性就會修改其初始的值。

修改對象屬性可作用於函數外部(全局變數)。

修改對象屬性在函數外是可見的。

如果y已經定義 , y || 返回 y, 因為 y 是 true, 否則返回 0, 因為 undefined 為 false。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

JavaScript 代碼規範
JavaScript 函數定義
JavaScript 使用誤區
JavaScript 驗證 API
JavaScript 保留關鍵字

TAG:程序員小新人學習 |

您可能感興趣

Spring MVC接受List Array Map參數
ProgrammerGuide8.7節Simulink模型可調參數
線程池ThreadPoolExecutor里Control state,ctl參數的分析(二)
OpenCV VideoCapture.get()參數詳解
線程池ThreadPoolExecutor里Control state,ctl參數的分析(一)
ajax傳遞參數給springmvc總結「轉」
springclould feign客戶端添加全局參數
Megabass Orochi 蟒蛇系列路亞竿參數
5.使用dynamic_reconfigure實現節點參數動態更新
iPhone SE2或命名為IPhone mini,參數曝光
Ubuntu 下面 MySQL 的參數文件 my.cnf 淺析
PEP 570:Positional-Only 參數
iPhone X Plus參數曝光 尺寸與iPhone 8Plus相仿
三星Galaxy Note 10下巴參數泄露:比iPhone XS寬
RPM命令的——nodeps 和——force參數解釋
佳能PowerShot G5 X MarkII參數曝光
spring boot aop 方法請求參數日誌列印
Setup參數解釋
如何修改request參數值並應用到springMvc中
DBScan+iris數據集實現+參數調節