Javascript代码写多了,就会下意识想用更简短的方式来表述同一逻辑。在此把工作中用到的简写方式记录下,权当备忘录。
#If true … else
传统写法:
var test;
if(x>10){
test=true;
}else{
test=false;
}
简写:
var test=(x>10)?true:false;
当然,如果是仅仅赋值布尔类型变量,还可以再精简下:
var test=(x>10);
//来个嵌套层次更深一些的例子
var x=3;
test=(x>10)?"大于10":(x<5)?"小于5":"大于5小于10";
console.log(test);//小于5
//函数调用也可以用到
function x() {console.log('x')};
function y() {console.log('y')};
var z = 3;
(z==3?x:y)();
#if
判断
传统写法:
if(test == true){
//do sth
}
if(test != true){
//do sth
}
简写:
if(test){
//do sth
}
if(!test){
//do sth
}
#null
,undefined
与空检测
传统写法:
if (var1 !== null || var1 !== undefined || var1 !== '') {
var var2 = var1;
}
简写:
var var2 = var1 || '';
#声明变量
传统写法:
var x;
var y;
var z = 3;
简写:
var x, y, z=3;
这种声明变量的场景用到的比较少,也记录下吧,谁让咱这是备忘录呢。
#charAt()
简写
传统写法:
"myString".charAt(0);
简写:
"myString"[0]
#比较返回值
传统写法:
if (!(ret == undefined)) {
return ret;
} else{
return fun();
}
简写:
return ret || fun();
#取整
传统写法:
Math.floor(4.9) === 4 //true
简写:
~~4.9 === 4 //true
#未完待续…