以前寫的博客,現在搬過來
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 的意思,如果你看到','分隔符,那么逗號前面的都是只會運行而已,影響返回的只有逗號后面的結果,若遇到多個逗號,則同理