好奇心に基づいて、この状況を少し拡張するには、次のようにします。
<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
方が高速であるように思われるため、この変数へのアクセスはさらに望ましくありません。