杨二

Machine repeats, Human creates

Javascript代码简写备忘录

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

#未完待续…