Jquery 您如何知道必须使用函数(){}?
代码1 代码2Jquery 您如何知道必须使用函数(){}?,jquery,lambda,anonymous-function,Jquery,Lambda,Anonymous Function,代码1 代码2 $(document).ready(function() { $('.poem-stanza').addClass('highlight'); }); 您阅读了正在调用的方法的文档(本例中为ready方法),并查看它所期望的值 如果需要函数,请使用第一个示例 如果需要jQuery*对象,请使用第二个示例(因为addClass方法的返回值是jQuery对象) *我假设您使用的是jQuery,因为我认为它是唯一一个具有这样命名的函数的库。但是我可能错了。如果函数接受函数作为
$(document).ready(function() {
$('.poem-stanza').addClass('highlight');
});
您阅读了正在调用的方法的文档(本例中为
ready
方法),并查看它所期望的值
如果需要函数,请使用第一个示例
如果需要jQuery*对象,请使用第二个示例(因为addClass方法的返回值是jQuery对象)
*我假设您使用的是jQuery,因为我认为它是唯一一个具有这样命名的函数的库。但是我可能错了。如果函数接受函数作为参数,代码2将不起作用,因为
$(document).ready(
$('.poem-stanza').addClass('highlight');
);
不是函数定义(它是语句)
要创建表示函数的对象,应使用以下语法之一:
$('.poem-stanza').addClass('highlight');
或
或
在上面的一个定义之后,myFunc将保存一个表示函数的对象。Heh,就是这样:D
不,说真的,当你必须在里面做点什么的时候,准备好了;或类似的方法,您可以使用。功能。其他方法接受参数。文档将为您提供详细信息 正如其他人所说,您必须查阅文档,看看函数接受什么类型的参数。然而,这里重要的部分是:如果您有一条语句,当解释器遇到它时,它就会被执行。如果定义一个函数并将其传递给ready函数,ready函数将决定何时执行它。在这种情况下,当文档准备就绪时。另一个例子是setTimeout,它期望函数和毫秒数作为参数
规则是这样的:当您想将一些代码传递给其他函数时,必须将其包装到函数中。如果使用(unwrapped)语句,将执行该语句并将结果传递给函数 如果需要回调函数,可以使用function关键字。当您使用像
ready
和click
这样的方法时,您不希望在设置事件时运行代码,而是在事件发生时运行代码,因此需要回调函数
使用匿名函数就像使用前面定义的命名函数一样。在这样的示例中,更容易了解发生了什么:
var myFunc = new Function("...javascript code...");
我不同意你的“$对于一个函数来说是一个愚蠢的名字。”博客条目,但是“评论”链接指向你的联系页面,所以我写在这里:引用的第一点在哪里,为什么是这样?您的第三点对每个函数名都很重要,不仅仅是$。在jquery中,$函数不仅用于选择器,而且也是document.ready的简写,正如您在这里看到的:引号来自ECMAScript规范。函数名通常会给出一些关于它们的作用的线索——美元符号则不然。太棒了-函数被重载了,这使得它更加模糊。
var myFunc = function() {
}
var myFunc = new Function("...javascript code...");
function onReady() {
$('.poem-stanza').addClass('highlight');
}
$(document).ready(onReady);