2011-10-29 49 views
0

我曬乾涸從jQuery源此代碼:曬出一些代碼

cssNumber: { 
    "fillOpacity": true, 
    "fontWeight": true, 
    "lineHeight": true, 
    "opacity": true, 
    "orphans": true, 
    "widows": true, 
    "zIndex": true, 
    "zoom": true 
} 

我建議如下。它可以做得更好嗎?

cssNumber: {} 
"fillOpacity fontWeight lineHeight opacity orphans windows zIndex zoom" 
    .split(" ") 
    .forEach(function() { 
     cssNumber.name = true; 
    }); 
+3

你想達到什麼目標?第一個版本肯定有更好的表現。爲了減少代碼,你應該看看縮小器。 – Smamatti

+0

我把它當作一個有趣的練習。 – Randomblue

+0

我不認爲重複'true'會重複自己,除非其他地方的代碼與'false'相同。在這種情況下,把它放在一個函數中,它仍然是一樣高效。但DRY更適用於較大的代碼塊。 – Ryan

回答

0

如果你真的需要節省字節空間的話,我只會這樣做。你想要做的是用值填充一個對象。比你應該完全一樣。這是你的第一個代碼。

+1

我仍然認爲JS minify在這裏效果更好。 – Smamatti

+0

當然是的,但你也可以縮減DRYed代碼。 – HerrSerker

+0

沒關係。在這種情況下,即使縮小,乾燥的代碼也會更長。 - 在某些情況下幹出代碼可能是件好事,但在這種情況下,它並不是,我非常贊同32bitkid對此問題的評論。 – Smamatti