JS 三目运算符和RETURN

以前写的博客,现在搬过来

 1 首先三目运算符和return的正确用法是这样的:
 2  
 3 (function test(){
 4 var foo = [];
 5 return typeof foo === 'object'?1:2;
 6 })();//函数返回值为1
 7  
 8 要是在三目运算符中又多个运算呢:
 9  
10 (function test(){
11 var foo = [];
12 return typeof foo === 'object'?(console.log(1),1):(console.log(2),2);
13 })();//console输出1,并且函数返回值是1
14  
15 还能有同一个返回值:
16  
17 (function test(){
18 var foo = [];
19 return typeof foo === 'object'?console.log(1):console.log(2),2;
20 })();//输出1,函数返回2,这样写不论typeof foo === 'object'是true or false ,函数返回值都是2
21  
22 即使这样写:
23  
24 (function test(){
25 var foo = [];
26 return typeof foo === 'object'?(console.log(1),1):console.log(2),2;
27 })();//输出1,返回2
28  
29 (console.log(1),1)是必须要括号的,不然会报错;

 

这里返回有很大一部分功劳都是','(逗号)分隔符的作用,他和三目运算符都有一层 return 的意思,如果你看到','分隔符,那么逗号前面的都是只会运行而已,影响返回的只有逗号后面的结果,若遇到多个逗号,则同理

 

posted @ 2017-06-25 20:23  Grewer  阅读(6441)  评论(0编辑  收藏  举报