js簡単最適化

2509 ワード

//bad
if (age > 20) {
  return true;
} else {
  return false;
}

//good
return age > 20;
//bad
for (var i = 0; i < arr.length; i++) {
  //do something..
}

//good
for (var i = 0, len = arr.length; i < len; i++){
  //do something..
}
          ,                ,      
//bad
if (value !== "") {
  //do something..
}

//good
if (value) {
  //do something..
}
js               ,     true,     false。 (         )
//bad
if (user.id === 10) {
  if (user.name !=="") {
    if (user.email === "email") {
      //do something..
    }
  }
}

//good
if (user.id ===10 && user.name !=="" && user.email === "email") {
  //do something..
}

//good
if (user.id !== 10) return;
if (user.name === "") return;
if (user.email !== "email") return;
//do something
      ,       
//bad
var a = "aa";
var b = "bb";
var c;

//good
var a = "aa",
    b = "bb",
    c;
      ,     :       ,          
//bad
for (var i = 0; i < 100; i++) {
  str += str;
  document.getElementById("box").innerHtml = str;
}

//good
for (var i = 0; i < 100; i++) {
  str += str;
}
document.getElementById("box").innerHtml = str;
  DOM  , DOM         ,      ,     DOM    
//bad
function test () {
  var a = b = 1;
  console.log(a);
}

//good
function test () {
  var a=1,
      b=1;
  console.log(a);
}
               。        : b          ,      test()     b         。             ,      。
//bad
if (age > 20) {
  console.log("    20");
}

//good
(age > 20) && console.log("    20");
      true,       ;      false,         
true && false                //false
false  && true               //false
"aa" && "bb" && "cc"         //"cc"
3 > 2 && 123                 //123
0 && 1                       //0
true && 123                  //123
false &&123                  //false
//bad
if (!value) {
  value = "123"
}

//good
value = value || "123"
 &&  ,      false,       ;      true,         
//bad
function test(a,b,c,d) {
  //do something..
}

//good
function test(a) {
  //do something..
}
               ,           json