jquery的函数到底是怎么执行的啊?

我页面上有一个button按钮,<inputtype="button"id="subb"value="button"/>然后我在js文件中这样写:functionaa()... 我页面上有一个button按钮,<input type="button" id="subb"value="button" />
然后我在js文件中这样写:
function aa()
{
alert("haha");
}
$("#subb").click(aa());
执行结果为:在页面加载时就弹出对话框“haha”
若把js改为如下形式:
function aa()
{
alert("haha");
}
$("#subb").click(aa);
执行结果:点击按钮后,才弹出对话框
把js改为如下的形式:
function aa()
{
alert("haha");
}
$("#subb").click =aa();
执行结果为:在页面加载时就弹出对话框“haha”

对于第一种和第三种情况,我是真的不能理解,为什么页面刚加载时就进行了,那按钮的click事件到底是执行了还是没执行啊?求详细解答!感激不尽!!!!
展开
 我来答
woshidaniel
推荐于2018-04-14 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:948万
展开全部

这问题不是jquery函数怎么执行的问题。关键在于对函数和函数如何执行的理解

比如函数竖余定义

function aa(){
}
对于这个函数来说aa是函数名,函数名+()就是执行函数,有了这个基础,下面理解起来就容易了
 $("#subb").click(aa());//这里是aa(),需要执行函数,则相当于先执行aa(),aa的返回值再作为参数传入click中。悉段
 $("#subb").click(aa);//这里aa是函数名,不具备立即执行条件
 $("#subb"睁纤誉).click =aa();//这里是aa(),需要执行函数,则相当于先执行aa(),aa的返回值赋值给click
114623snow
推荐于2016-04-25 · TA获得超过2849个赞
知道小有建树答主
回答量:606
采纳率:0%
帮助的人:383万
展开全部

你好,点击事件click中加的其实是一个函数:

$("#subb").click(function(event) {
   /* Act on the event */
 });

上面的代码是一个匿名函数岁戚,也可以是你说的第二种情况:

$("#subb").click(aa);

上面代码click之后执行函数aa。

你上面第一种和第三种情况其实是把函数执行的结果返回给了点击事件,因为函数aa后面加了()说明函数已经执行了。而你的函数里面没有返回内容,所以返回的野樱内容是undefined。

所以第一种和第三种情况一开始就执行了函数,而不是你颂雀丛click事件触发的。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乌微月2S
2013-12-01 · TA获得超过5037个赞
知道大有可为答主
回答量:5361
采纳率:42%
帮助的人:2873万
展开全部

javascript的语法非常灵活,你只要知道自己想要枣源什么效果,哪种写法能实现这个效果就行。

正岩滚常的凳枣态写法

$("#subb").click(function () {
     alert("haha");
 });

通常都真么写。

$().ready(function(){
$("#subb").click(function(){
alert(1);
alert("haha");
});
 });
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式