Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
377 views
in Technique[技术] by (71.8m points)

小白来了!关于javascript的第二个问题?

   var timer = setInterval(function(){
            alert(1);
        },1000)
/* 上面的代码在浏览器中会自动执行 */

/* 下面的代码不会自动执行 */
        var a = function(){
            alert(2);
        }

同样是用变量来保存(不知道这种说法对不对),为啥上面的会自动执行,下面的不会呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
   setInterval 这个东西叫循环定时器,
   function(){ alert(1); } 叫函数声明
   你纠结的是 2个地方都声明了一个函数,但是第一个执行了
   
   可以这么理解,定时器相当于一个碎纸机,每次都要拿一张纸来碎掉,你的
    function(){
        alert(1);
    }就是声明了一张纸给碎纸机,所以碎纸机把它碎掉了,结果就是alert(1)
    而
    var a = function(){
        alert(2);
    }
    意思就是,你好我是一张纸,我叫a,你要是把我碎掉了(没有送给碎纸机就不会被碎掉),我能alert(2)
    
    不知道好不好理解...
      

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...