Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 您如何知道必须使用函数(){}?_Jquery_Lambda_Anonymous Function - Fatal编程技术网

Jquery 您如何知道必须使用函数(){}?

Jquery 您如何知道必须使用函数(){}?,jquery,lambda,anonymous-function,Jquery,Lambda,Anonymous Function,代码1 代码2 $(document).ready(function() { $('.poem-stanza').addClass('highlight'); }); 您阅读了正在调用的方法的文档(本例中为ready方法),并查看它所期望的值 如果需要函数,请使用第一个示例 如果需要jQuery*对象,请使用第二个示例(因为addClass方法的返回值是jQuery对象) *我假设您使用的是jQuery,因为我认为它是唯一一个具有这样命名的函数的库。但是我可能错了。如果函数接受函数作为

代码1

代码2

$(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);