你能在Javascript中声明兼性函数参数吗?

Tom*_*Tom 2 javascript php function default-value

就像你可以在PHP中

<?php
function whatever($var='') {

}
?>
Run Code Online (Sandbox Code Playgroud)

你能用javascript做到吗?

CMS*_*CMS 12

如果要为参数设置"默认"值,可以执行以下操作:

function whatever(arg1) {
  arg1 = arg1 || 'default value';
}
Run Code Online (Sandbox Code Playgroud)

请记住,如果ARG1包含任何"默认值"将被设置falsy 超值,喜欢null,undefined,0,false,NaN或零长度字符串"".

同样在JavaScript函数中你有arguments对象,它是一个类似于数组的对象,它包含传递给函数的参数,因此你甚至可以声明一个没有输入参数的函数,当你调用它时,你可以传递一些函数:

function whatever() {
  var arg1 = arguments[0];
}

whatever('foo'); 
Run Code Online (Sandbox Code Playgroud)

编辑:只有在真正未定义时才设置默认值,如@bobbymcr注释,你也可以这样做:

function whatever(arg1) {
  arg1 = arg1 === undefined ? 'default value' : arg1;
}
Run Code Online (Sandbox Code Playgroud)