出于好奇,稍微扩展一下这种情况:
<html><head>
<script type="text/javascript">
var overWrite = "world";
window.onload = function(){ alert(overWrite); };
</script></head><body>
<input id="overWrite" value="hello" />
</body></html>
会提醒“世界”。但是,使用//var overWrite = "world";
(如注释掉该行),它会提醒[html element]
. 请注意,这是在页面加载之后,因此它是持久的,而不是某种临时分配。
由于不一致和可读性问题,强烈同意不应该使用它。
编辑
仍然对这个问题感到好奇并进行了更多测试。document.getElementById
我很好奇使用或通过变量引用访问是否更快。做了这个测试:
html
<div id="contentZone"></div>
js
var startTime = Date.now();
for( var i = 0; i < 1000; i++){
for( var n = 0; n < 2000; n++){
var ni = document.getElementById("contentZone");
}
}
var endTime = Date.now();
console.log( endTime - startTime );
var aTime = Date.now();
for( var i = 0; i < 1000; i++){
for( var n = 0; n < 2000; n++){
var ni = contentZone;
}
}
var bTime = Date.now();
console.log( bTime - aTime );
安慰
431
814
仅在这台机器上进行了测试,但似乎使用document.getElementById
速度更快,这使得该变量访问变得更不可取。