这边记录一下大致的判断情况,
写法一(不推荐):
function foo(arg){//写法一:不严谨arg = arg ? arg : '我是默认值'console.log(arg)
}foo(123) //输出:123
foo() //输出:我是默认值
foo(0) //输出:我是默认值
foo("") //输出:我是默认值
foo(false) //输出:我是默认值
写法二(不推荐):
function foo(arg){//写法二:不严谨arg = arg || '我是默认值'console.log(arg)
}foo(123) //输出:123
foo() //输出:我是默认值
foo(0) //输出:我是默认值
foo("") //输出:我是默认值
foo(false) //输出:我是默认值
写法三(推荐):
function foo(arg){//写法三arg = (arg === undefined || arg === null) ? "我是默认值" : arg console.log(arg)
}foo(123) //输出:123
foo() //输出:我是默认值
foo(0) //输出:0
foo("") //输出:""
foo(false) //输出:false