猿问

关于传参的问题!

function t(flag){    if(flag){
        s="ifscope";        for(var i=0;i<2;i++);
    }    console.log(i);
}
t(true);console.log(s);

不太理解这段代码什么意思。 
为什么加上t(true);后,最后一句就可以执行了?不加的话,就会报错?


四季花海
浏览 561回答 1
1回答

慕后森

变量s前面没有var,为全局变量&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;t(flag){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(flag){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s="ifscope";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;i=0;i<2;i++); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(i); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;//t(true);//声明了全局变量s &nbsp;&nbsp;&nbsp;&nbsp;console.log(s);//s&nbsp;is&nbsp;not&nbsp;defined;题主可以试着看一下控制台console的英文报错
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答