Javascript中函数执行顺序问题

a.onclick=show;functionshow(){}我知道,当a点击事件发生后,执行show函数,如果这样写b.onclick=hide();functionh... a.onclick = show;
function show(){
}
我知道,当a点击事件发生后,执行show函数,如果这样写
b.onclick = hide();
function hide(){
}
b点击事件还未发生,hide函数就已经执行。
***************************************************
如果写成匿名函数
a.onclick = function(){
}
或者写成
b.onclick = function hide(){
}
会是怎样的?点击事件和函数执行的先后顺序如何?
展开
 我来答
网海1书生
科技发烧友

2016-08-03 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部
这个问题的关键在于hide()中的括号,跟函数的执行顺序是没有关系的!函数带上括号的话,表示立即执行这个函数,然后把运行结果赋值给事件;而不带括号的话,则是把函数作为对象赋值给事件。很显然,前者是错误的,后者才是正确的。

使用匿名函数的话,跟用函数名赋值是一样的(匿名函数也是函数啊)。而如果在匿名函数的后面加个括号,比如:
a.onclick = function(){
}()
也表示立即执行这个匿名函数,然后把执行结果赋值给a.onclick,这当然也是错误的。

所以说,你这个问题跟函数的执行顺序是没有半毛钱关系的!
zhang87415756
2016-08-03 · TA获得超过667个赞
知道小有建树答主
回答量:902
采纳率:78%
帮助的人:174万
展开全部
自己敲一遍,试试就知道了啊,
我晕,懒是病,得治啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式