为什么这两个函数只能运行其中一个,而两个放一起就不能运行了???

为什么这两个函数只能运行其中一个,而两个放一起就不能运行了???

//函数1

window.onload=function(){

function Time(){alert(1)}

Time()

}

//函数2

(function(){ 

var mei=new Date();

alert(mei);})();  


快乐崇拜tager
浏览 1726回答 1
1回答

李晓健

window.onload=function(){     function Time(){alert(1)}     Time() }; //这里加一个分号就好了 //函数2 (function(){     var mei=new Date();     alert(mei); })();原因是在浏览器里会自动忽略注释换行和空格你的代码去掉注释换行和空格就成了window.onload=function(){     function Time(){alert(1)}     Time() }(function(){     var mei=new Date();     alert(mei); })();第四行就是一个整体,最后一个括号就是多余的,所以你的第二个方法就不会执行,因为他是作为一个参数传到第一个方法里。你可以这样证明第二个方法是作为一个参数传到第一个方法里window.onload=function(method2){     function Time(){alert(1)}     Time();     method2(); //这里调用一次传进来的方法 }(function(){     var mei=new Date();     alert(mei); });希望我已经说明白了,这里理解起来确实有点困难。
打开App,查看更多内容
随时随地看视频慕课网APP