就像你可以在 php 中一样
<?php
function whatever($var='') {
}
?>
你能在javascript中做到这一点吗?
就像你可以在 php 中一样
<?php
function whatever($var='') {
}
?>
你能在javascript中做到这一点吗?
如果要为参数设置“默认”值,可以执行以下操作:
function whatever(arg1) {
arg1 = arg1 || 'default value';
}
请记住,如果 arg1 包含任何虚假 值,例如null
、undefined
、0
、或零长度字符串false
,则将设置“默认值” 。NaN
""
在 JavaScript 函数中你也有arguments
对象,它是一个类数组对象,包含传递给函数的参数,因此你甚至可以声明一个没有输入参数的函数,当你调用它时,你可以传递一些给它:
function whatever() {
var arg1 = arguments[0];
}
whatever('foo');
编辑:仅当它真正未定义时才设置默认值,如@bobbymcr评论,您也可以执行以下操作:
function whatever(arg1) {
arg1 = arg1 === undefined ? 'default value' : arg1;
}
在javascript中,无论参数如何,您都可以调用函数。
换句话说,声明这样的函数是完全合法的:
function func(par1, par3) {
//do something
}
并这样称呼它:
func();
我不认为你可以直接做到这一点,但有办法做到这一点。由于 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);
在 JS 中,默认参数不是必需的。对于 $arg = '' 实现,您可以使用
function whatever(vars) {
vars = vars || 'default';
/* your code */
}