语法糖就是一种便捷写法,使得程序易懂,效率更高。
一、实现单一条件判断
1、Low逼写法
if (condition) { doSth(); }
2、牛逼写法
conected && login(); //代码压缩时,这样写,可能会存在问题
二、实现并列条件判断
1、Low逼写法
if(con==1 || con==22 || con==43 || con==51 || con==63 || con==83){ doSth(); }
2、牛逼写法
if([1, 22, 43, 51, 63, 83].indexOf(con) != -1){ doSth(); }
三、实现多层条件判断
1、Low逼写法
if (color) { if (color === 'black') { printBlackBackground(); } else if (color === 'red') { printRedBackground(); } else if (color === 'blue') { printBlueBackground(); } else if (color === 'green') { printGreenBackground(); } else { printYellowBackground(); } }
2、装逼写法
switch(color) { case 'black': printBlackBackground(); break; case 'red': printRedBackground(); break; case 'blue': printBlueBackground(); break; case 'green': printGreenBackground(); break; default: printYellowBackground(); }
尽管这样写使程序简洁有序,但不推荐,因为会给debug增加麻烦。
3、牛逼写法
var colorObj = { 'black': printBlackBackground, 'red': printRedBackground, 'blue': printBlueBackground, 'green': printGreenBackground, 'yellow': printYellowBackground }; if (color && colorObj.hasOwnProperty(color)) { colorObj[color](); }
四、实现字符串拼接
1、Low逼写法
var firstName = 'camille'; var lastName = 'hou'; console.log('Je suis ' + firstName + ' ' + lastName);
2、装逼写法
var firstName = 'camille'; var lastName = 'hou'; console.log(`Je suis ${firstName} ${lastName}`); //ES6中的模板字符串,存在兼容性问题,慎用!