
以前写的博客,现在搬过来
首先三目运算符和return的正确用法是这样的: (function test(){
var foo = [];
return typeof foo === 'object'?1:2;
})();//函数返回值为1 要是在三目运算符中又多个运算呢: (function test(){
var foo = [];
return typeof foo === 'object'?(console.log(1),1):(console.log(2),2);
})();//console输出1,并且函数返回值是1 还能有同一个返回值: (function test(){
var foo = [];
return typeof foo === 'object'?console.log(1):console.log(2),2;
})();//输出1,函数返回2,这样写不论typeof foo === 'object'是true or false ,函数返回值都是2 即使这样写: (function test(){
var foo = [];
return typeof foo === 'object'?(console.log(1),1):console.log(2),2;
})();//输出1,返回2 (console.log(1),1)是必须要括号的,不然会报错;
这里返回有很大一部分功劳都是','(逗号)分隔符的作用,他和三目运算符都有一层 return 的意思,如果你看到','分隔符,那么逗号前面的都是只会运行而已,影响返回的只有逗号后面的结果,若遇到多个逗号,则同理