很多人說each()
裏面的循環函數是不好做法。Javascript替換局部變量帶函數返回
就會造成可怕的性能比較 ...
就像一個版本...
版本之一:
$(".next").each(function() {
var el = $(this),
setNo = 0,
onNo = function() {
setNo = 1;
};
onNo(); // setNo will become 1
)};
所以,我必須移動功能外each()
。然後我很困惑於在each()
版本二取代局部變量:
var onNo = function() {
var setNo = 1;
return setNo; // replace it
};
$(".next").each(function() {
var el = $(this),
setNo = 0;
onNo(); // it's not replacing setNo local variable. how to fix this?
)};
如何解決這一問題?
你們是否有更高效的設計模式,我真的很困惑於javascript設計模式。
感謝...
「可怕的表現」有點誇張:在99.9%的使用情況下,如果循環每次迭代的速度快或慢一百萬分之一秒,它絕對沒有區別。性能不應該是選擇模式的原因,除非a)代碼實際上對性能至關重要,並且b)您已經確認它實際上有任何實際區別。 – JJJ
不確定兩個示例之間是否存在真正的差異(就性能而言)? (也想解釋一下)關於你嘗試使用/改變的變量,我想這可能有所幫助:http://stackoverflow.com/questions/500431/what-is-the-scope-of-variables-in-javascript – sinisake