2
A
回答
3
在JavaScript中,您可以調用函數而不管參數。
換句話說,它是完全合法的聲明這樣的功能:
function func(par1, par3) {
//do something
}
,並調用它像這樣:
func();
12
如果你想設置一個「默認」值你的論點,你可以這樣做:
function whatever(arg1) {
arg1 = arg1 || 'default value';
}
請記住,'默認值'將被設置如果arg 1包含任何值,如null
,undefined
,0
,false
,NaN
或者零長度字符串""
的任何虛假值。
arguments
對象中的JavaScript功能
此外,它包含傳遞給函數的參數數組類對象,所以你甚至可以聲明一個功能,無需輸入參數,當你調用它,你可以通過一些它:
function whatever() {
var arg1 = arguments[0];
}
whatever('foo');
編輯:有關設置,只有當它是真正的定義,作爲@bobbymcr評論默認值,你可以做這樣的事情也:
function whatever(arg1) {
arg1 = arg1 === undefined ? 'default value' : arg1;
}
0
在JS中默認參數不是必需的。對於$ ARG =「」的實現,你可以使用
function whatever(vars) {
vars = vars || 'default';
/* your code */
}
2
我不認爲你可以直接這樣做,但是有辦法做到這一點。由於JavaScript允許你從一個函數調用省略參數,你可以檢查,如果一個參數是不確定的,並給它一個默認值,如果這樣:
function DoSomething(x, y, z)
{
// set default values...
if (typeof x == "undefined")
{
x = 5;
}
if (typeof y == "undefined")
{
y = "Hi";
}
if (typeof z == "undefined")
{
z = 3.14;
}
// ...
}
你可以嘗試調用它通過以下方式看到的默認值獲得當參數丟失時分配:
DoSomething();
DoSomething(4);
DoSomething(4, "X");
DoSomething(4, "X", 7.77);
+0
對我而言,我更喜歡x === undefined; 爲了避免typeof :) –
相關問題
- 1. JavaScript函數參數聲明
- 2. 你可以在函數中通過cfscript做可選參數嗎?
- 3. JS函數聲明:在參數聲明
- 4. 你可以在VBScript中聲明一個常量數組嗎?
- 5. 你可以在AS3函數中有「ByRef」參數嗎?
- 6. 在ColdFusion 8中,你可以使用cfscript聲明一個函數爲private嗎?
- 7. 我可以在Python中的函數中聲明一個類嗎?
- 8. JavaScript - 傳遞更多參數比函數聲明不好嗎?
- 9. 你可以結合CSS聲明嗎?
- 10. 聲明函數在JavaScript
- 11. 你可以將數組插入函數參數嗎?
- 12. 你可以在javascript中編寫匿名函數嗎?「function(){}」?
- 13. 你可以在JavaScript中編寫嵌套函數嗎?
- 14. Javascript函數參數可以省略在一組中間嗎?
- 15. 我可以在javascript的函數參數中使用對象嗎?
- 16. 你可以在Dart的函數中添加屬性嗎?
- 17. 在php echo聲明中調用javascript函數的參數
- 18. 你可以將一個DataTable聲明爲一個數組嗎?
- 19. 你經常聲明你的函數是const嗎?
- 20. 我可以在PHP的另一個函數的參數中聲明一個函數嗎?
- 21. Python 3中的函數聲明參數
- 22. 可以聲明主變量中的靜態函數嗎?
- 23. 有人可以解釋以下奇怪的函數聲明嗎?
- 24. 在Javascript函數中聲明變量
- 25. 在javascript中函數聲明後冒號
- 26. 在Javascript中,如果你有一個函數,你可以通過名字得到參數嗎?
- 27. 你可以在javascript中的模板中聲明<canvas>方法嗎?
- 28. 不兼容的函數隱式聲明
- 29. (函數(){})()聲明/初始化JavaScript函數
- 30. 聲明javascript函數,jQuery的
那麼,這是「是的,你可以設置一個默認值」,或「不,你不能設置默認值」? – Zed
我說錯了,我的意思是,你可以添加參數,而不必定義它們。答案是肯定的,你可以。不像PHP。 – Tom