jQuery.each(player, function(key, val){
if (el = $("#pr_attr_plain_"+key)){
el.text(val === "" ? 0 : " " + val);
}
});
我繼承了一個項目,並且遇到了一些奇怪的事情。開始這個項目的人是一位經驗豐富的程序員,當然這比我自己更重要。是否有任何價值或理由這樣做(無論多麼糟糕):單個等於一個if。的JavaScript。有什麼好的理由?
if (el = $("#pr_attr_plain_"+key))
它現在,它是在我沒有觸及代碼的一部分。我不想改變它,讓它產生意想不到的後果而不知道它會做什麼。
我會將此添加爲評論,因爲沒有人提及過它。 '$(..)'將總是返回一個jQuery對象,即使它不匹配任何元素。原始代碼片段不會做它作者認爲它做的事。條件的主體總是會被執行,但是如果'el'是空的,它將是一個空操作,所以沒關係。它應該只是'$(「#pr ..」)。text(...);' – 2010-09-24 23:19:50
其實我已經提到它:)因爲在代碼段中有'jQuery.each'而不是'$ .each' ,也許jQuery運行在不衝突模式? – Tgr 2010-09-25 21:57:14