循环函数的javascript
我有这个index.html循环函数的javascript,javascript,function,for-loop,Javascript,Function,For Loop,我有这个index.html <html> <head> <script type="text/javascript" src="scripts.js" > </script> </head> <body> <center><h1>Images</h1></center> <center> <img id="b1" onclick="
<html>
<head>
<script type="text/javascript" src="scripts.js" > </script>
</head>
<body>
<center><h1>Images</h1></center>
<center>
<img id="b1" onclick="image()" src="1.jpg">
<img id="b2" onclick="image()" src="2.jpg">
<img id="b3" onclick="image()" src="3.jpg">
<img id="b4" onclick="image()" src="4.jpg">
</center>
</body>
</html>
图像
这是scripts.js
function image(){
for(var i = 1; i < document.images.length; i++)
{
document.write(i);
}
函数图像(){
对于(var i=1;i
当我点击第一张图片时,它只是在屏幕上显示数字1,浏览器陷入思考
为什么不显示123?数组索引从ECMAscript中的
0
开始,而不是1
,您需要重写循环,如下所示:
for(var i=0;i<document.images.length;i++) {
}
for(var i=0;i循环不工作的原因是第一次调用
document.write
它将从页面中删除所有图像,从而将document.images节点列表的长度减少到零
如果要查看1234,请使用以下命令,而不是使用document.write(正如Dai所指出的,document.write已被弃用):
此外,正如Dai正确指出的,第一个数组索引是0而不是1,因此for循环应如下所示:
for(var i = 0; i < document.images.length; i++)
{
document.body.innerHTML += i;
}
for(var i=0;i
注意:var i=0;注意
在HTML5和文档中已经过时。写入被认为是不好的做法。ECMAscript中的数组也从0
开始,而不是1
。
for(var i = 0; i < document.images.length; i++)
{
document.body.innerHTML += i;
}