这边记录一下大致的判断情况,
写法一(不推荐):
- 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