gpt4 book ai didi

javascript - javascript/jQuery 中函数定义的区别

转载 作者:搜寻专家 更新时间:2023-11-01 04:46:45 25 4
gpt4 key购买 nike

版本 1:

function add(){
var a = 2;
...
...
...
}

版本 2:

$(function(){
var ...
..
..
});

两个版本的主要区别在哪里?对于版本 2,它没有函数名称。如果它只是简单地运行函数中的代码,为什么不直接删除 $function(){..};。这真的让我很困惑,因为现在很多脚本都是用版本 2 的风格编写的。请帮助澄清我的困惑。

最佳答案

示例 1 定义了一个名为 add 的函数,而示例 2 只是将匿名函数传递给 jQuery 函数。

$(function() {...}); syntax 是 $(document).ready(function() {...}); 的简写,它将一个函数作为参数,然后在 DOM 准备就绪时执行该函数。这用于确保您要在 Javascript 中使用的元素在执行代码之前确实存在。

编辑以解决以下评论:

.click() jQuery 函数有两个用途。如果您传递一个函数,那么它会创建一个额外的点击事件处理程序,该处理程序将在事件被触发时运行该函数。如果您不传递函数,那么它将触发所有已附加到 jQuery 对象中的元素的单击事件处理程序。所以,是的,您可以调用 .click()没有功能,但它不会做同样的事情。

您不能执行以下操作:

$(document).ready(var foo = 2;...);

因为这会给你一个语法错误。但是,您可以以通常的方式定义一个函数,然后将 that 传递给对 $(document).ready() 的调用。 :

function foo() {
var foo = 2;
...
}

$(document).ready(foo);

关于javascript - javascript/jQuery 中函数定义的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10722651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com