首页 > 建站教程 > JS、jQ、TS >  js后期调用,javascript后期调用正文

js后期调用,javascript后期调用

先看下面的例子,点击图片,用循环依次弹出五个数字,对应五张图片。下面的代码看似没问题,但是弹出来就有问题了,您可以先运行代码,点击demo的五张图片,查看问题所在:


提示:您可以先修改部分代码再运行

经过测试,发现,弹出来的都是5,无论点击哪张,而不是期望的,点击哪张图片就弹出对应的数字。这可以用js的自定义属性来解决:


提示:您可以先修改部分代码再运行

经过上面的测试,的确解决了。可是第一个例子,为什么弹出来的都是5,而不是一张图片对应一个数字呢。什么时候才调用函数来执行alert呢?当鼠标点击的时候,也就是onclick的时候。问题的产生就在这时候:此时for循环早就执行完了,i的值已经定格在5了,所以不管点击哪一张图片,跳出的数字都是5。这就是后期调用产生的问题。