猿问

匿名函数 定义之后立即执行的疑问

var i=0;

function isfun(){

    console.log(i);

    i++;

    if(i<5){

        setTimeout("isfun()", 1000);

    }

};


isfun();  //执行正常,每秒i的值递增显示

var i=0;

(function isfun(){

    console.log(i);

    i++;

    if(i<5){

        setTimeout("isfun()", 1000);

    }

})(); //执行不正常,只显示i的值为0

这两段代码的效果应该是一样的,但是为什么结果不一样?

SMILET
浏览 882回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答