Javascript 设置超时和

Javascript 设置超时和,javascript,jquery,Javascript,Jquery,我的代码如下 script.js var main = function(){ for(var j=0; j<10; j++){ for(var i=0; i<10; i++){ setTimeout(function(){$('div').append(i*j);}, 1000*j); }; }; }; $(document).ready(main); var main=function(){ for(var

我的代码如下

script.js

var main = function(){
    for(var j=0; j<10; j++){
        for(var i=0; i<10; i++){
            setTimeout(function(){$('div').append(i*j);}, 1000*j);
        };
    };
};
$(document).ready(main);
var main=function(){

for(var j=0;jfor
循环运行到完成调度100次
setTimeout()
调用。此时,
i
j
都指向
for
循环的结束值,这是调用
setTimeout()
回调时它们将处于的位置

如果要在
setTimeout()
回调中使用
i
j
,则必须创建一个闭包,通过
for
循环为每个循环唯一地计算它们的值

还有许多其他答案说明了如何做到这一点的细节。以下是一些:

<html>
    <head>
    </head>
    <body>
    <div></div>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="script.js"></script>
    </body>
</html>