考虑以下代码:
function changeImage()
{
var image = document.getElementById('myImage');
if (image.src.match("bulbon"))
{
image.src = "pic_bulboff.gif";
}
else
{
image.src = "pic_bulbon.gif";
}
}
我不明白为什么会将getElementById()
的结果存储到if
语句中使用的变量,因为我们可以通过简单地使用{{1}来访问属性src
每次,像这样:
getElementById()
为什么要使用变量而不是反复使用function changeImage()
{
if(document.getElementById("myImage").src=="pic_bulboff.gif")
{
document.getElementById("myImage").src="pic_bulbon.gif";
}
else
{
document.getElementById("myImage").src="pic_bulboff.gif";
}
}
?
答案 0 :(得分:1)
var image = document.getElementById('myImage');
通过引用返回一个对象并保存2个额外的"搜索"对于相同的图像,这个图像比第二个例子更慢,消费者的处理器资源更多。
更为恰当的是:
<script>
function changeImage() {
var image = document.getElementById('myImage');
if (image) { image.src = image.src.match("bulbon")?"pic_bulboff.gif":"pic_bulbon.gif"; }
}
</script>