我的常规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