我的常規JavaScript代碼似乎是輸出東西到頁面不正確或錯誤的順序,這很奇怪,因爲代碼非常簡單(也許20行上)。我的代碼如下。注意:Javascript輸出緩衝區以錯誤的順序放置東西
pttr_data.length
將返回150clean_array.length
將返回4.output
是div對象,即無功輸出=的document.getElementById( 「結果」);
我希望我的代碼輸出是這樣的:
<div>matcha matchb matchc matchn </div>
而是將其返回:
<div/>matcha matchb matchc match
這裏是我的代碼,我在其中放置隨機字符,以找出其中的東西(你會看到;;;, |||, [[[, }}}
在那裏divs):
var len = pttr_data.length;
for (var i = 0; i < len; i++) {
var clean_array = pttr_data[i].match(RegExp(rexp.value, flags.value));
output.innerHTML += ";;;<div>|||";
var lengthy = clean_array.length;
for (var j = 1; j < lengthy; j++) {
if(clean_array[j]) { output.innerHTML += clean_array[j] + ' '; }
else { output.innerHTML += 'NULL '; }
}
out.innerHTML += "[[[</div>}}}\n";
}
此代碼返回:
;;;<div>|||</div>matcha matchb matchc [[[}}}
有人可以解釋,爲什麼出現這種情況? JavaScript for循環獨立運行(並以不同的速度完成),即使它們是嵌套的?這沒有意義,但爲什麼有人會設計一個這樣的腳本語言?
我的代碼如何輸出<div/>blah
而不是<div>blah</div>
?
感謝
非常感謝! – stoicfury 2012-03-07 09:26:58