gpt4 book ai didi

javascript - jQuerys $.each() 是如何工作的?

转载 作者:可可西里 更新时间:2023-11-01 02:51:00 25 4
gpt4 key购买 nike

也许标题不好,但这是我的问题:我正在构建一个框架来了解有关 javascript 的更多信息。我想使用“jQuery”风格。

如何创建一个函数,其中 () 是可选的?

$("p").fadeOut(); //() is there
$.each(arr, function(k, v) {...}); //Dropped the (), but HOW?

这是我想出来的,但它不起作用:

$2DC = function(selector)
{
return new function() {
return {
circle : function()
{
//...
}
}
}
}


$2DC("#id1"); //Work
$2DC("#id2").circle(); //Work
$2DC.circle(); //DONT WORK

最佳答案

$ 实际上只是 jQuery 函数的一个别名。您可以通过以下方式调用该函数:

jQuery("p");$("p");

但请记住,在 JavaScript 中,您可以将“东西”直接附加到函数。

function foo(){
}
foo.blah = "hi";
foo.func = function() { alert("hi"); };

foo.func(); //alerts "hi"

这就是(概念上)jQuery 的 each 函数的定义方式。

jQuery.each = function(someArr, callback) { ...

现在 jQuery.each 是一个可以像这样调用的函数:

jQuery.each([1, 2, 3], function(i, val) {
});

或者更熟悉的

$.each([1, 2, 3], function(i, val) {
});

因此,对于您的特定情况,支持:

$2DC.circle(); 

您必须将 circle 函数直接添加到 $2DC:

$2DC.circle = function(){
// code
};

关于javascript - jQuerys $.each() 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9006898/

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