职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 585|回复: 8

JavaScript函数定义方面的问题

[复制链接]
钰云 发表于 2011-7-10 09:23 | 显示全部楼层 |阅读模式
       当浏览器解析你的脚本并遇到使用下面这种语法定义的函数时,如:function example(){...} , example() 函数会在脚本执行之前立即被声明.这意味着你可以在脚本中任何地方调用example(),即使对函数的调用发生在函数的定义之前也没问题. 而对于另外一种语法, 如var example2 = function(){...}, 在脚本执行到该赋值语句之前 example2()函数是不存在的. 如果你在该定义之前调用 example2(), 结果会失败.

      注: 浏览器中的解释程序在执行javascript代码之前,首先要对代码进行变量初始化, 即初始化window对象之下的所有顶级变量. 由于第二种定义函数的语法是通过赋值语句实现的,所以在初始化过程中不会被立即声明. 只有在解释器开始执行代码并执行到相应的赋值语句时, 该函数才会被声明. 因此调用该函数的语句只能出现在定义该函数的语句之后. 并且,如果使用第二种语法来定义构造函数, 那么为其prototype属性中添加公共成员的代码,也应该在该函数定义之后.

hxy 发表于 2011-7-10 09:23 | 显示全部楼层
嗯叻。好深。
找不到我 发表于 2011-7-21 11:13 | 显示全部楼层
老天不公啊.....
木已 发表于 2011-7-22 10:33 | 显示全部楼层
我头有点疼
紫衿 发表于 2011-7-26 11:58 | 显示全部楼层
自己知道了
shmilyyu 发表于 2011-7-31 10:21 | 显示全部楼层
额~哦........偶无语
愚人 发表于 2011-8-11 14:34 | 显示全部楼层
支持楼主,支持原创!
无处不在 发表于 2011-8-12 10:12 | 显示全部楼层
说嘛1~~~想说什么就说什么嘛~~
醉倚西风 发表于 2011-8-16 10:06 | 显示全部楼层
呵呵,等着就等着....
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-26 17:38 , Processed in 0.141831 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表