首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript两种定义function的差别

2013-08-24 
javascript两种定义function的区别大家都知道以下两种定义function的方式为什么发生了这种情况?我们添加以

javascript两种定义function的区别
大家都知道以下两种定义function的方式


为什么发生了这种情况?我们添加以下代码:
        window.onload = mychange;        alert(mychange);

这时窗口显示undefined!所以根本不可能往下执行。所以从这点可以分析出,javascript解释器是按前后顺序边解释边执行的。

那用第二种方式为什么可以?因为用第二种方式定义的function,会最先初始化,就类似于java中static属性。

看到这,新的问题来了,上面例子中的show方法,为什么没有问题?

因为调用mychange方式,是在window完成加载后才执行的,所以show已经初始化了,我们最后来看下顺序:
1、解释mychange方法
2、解释window.onload = mychange,发现调用的是onload方法,所以此处暂停,继续往下解释
3、解释var show 这段script,并加载window中的所有内容
4、加载完成,执行mychange方法

热点排行
Bad Request.