为什么这两个函数只能运行其中一个,而两个放一起就不能运行了??? //函数1 window.onload=function(){ function Time(){alert(1)} Time() }//函数2 (function(){ var mei=new Date(); alert(mei);})();
1 回答
李晓健
TA贡献1036条经验 获得超461个赞
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);
});希望我已经说明白了,这里理解起来确实有点困难。
添加回答
举报
0/150
提交
取消
