2016-05-06 27 views
-1

我還不太瞭解Javascript的性能。我已經使用了my_var,並且在我的函數中一次又一次覆蓋它,如下所示,使用each()循環。這是不好的做法或不使用JavaScript中的覆蓋變量

function lookupObjs(obj) { 
    var my_var = jQuery; //or $ 
    if (Object.keys(obj).length != 0) { 
     return my_var.each(obj, function (ins, val) { 
      my_var = ins; 
      if (my_var === 'holiday') {  
       console.log("holiday : " + my_var); 
      } 
      if (my_var === 'work') {  
       console.log("work : " + my_var); 
      } 
     }); 
    } else { 
     console.log(obj)  
    } 
} 
+3

可讀性非常差! – gurvinder372

+0

哦,我的上帝有多貧窮呢? –

+0

朋友請幫我解釋一下如何使這個功能更好,然後呢? –

回答

2

你並不需要在循環覆蓋my_var,你可以只使用ins

return my_var.each(obj, function (ins, val) { 
    if (ins === 'holiday') { 
     console.log("holiday : " + ins); 
    } 
    if (ins === 'work') { 
     console.log("work : " + ins); 
    } 
}); 

這也是不好的做法來覆蓋變量這種方式 - 這是一個更加清晰,如果你只是用明顯的名字創建新變量;一旦他們超出範圍,他們將被收集垃圾。

+0

實際上my_var根本不需要。您可以直接使用名爲jQuery的變量。 –

相關問題