gpt4 book ai didi

jquery - jquery语句 "var collection = jQuery([1]);"是什么意思?

转载 作者:行者123 更新时间:2023-12-03 22:50:20 25 4
gpt4 key购买 nike

在《学习 JavaScript 设计模式》一书的第 109 页上,有一个代码示例让我感到困惑。

jQuery.single = (function( o ){

var collection = jQuery([1]); // <-- i want to ask this line
return function( element) {

// give collection the element
collection[0] = element;

// return the collection
return collection;
}
})();

函数的使用是这样的:

$('div').on('click', function() {
var html = jQuery.single( this ).next().html();
console.log( html );
});

更新:谢谢回答。我从作者页面76 bytes for faster jQuery查看了原始代码源

var collection = jQuery([1]); // Fill with 1 item, to make sure length === 1

现在我明白了。我希望《学习 JavaScript 设计模式》一书的作者在引用此代码示例时也能添加此评论。

最佳答案

jQuery([1]) 只是将一个包含整数 1 的条目的数组传递到 jQuery 中,这将返回一个包含所有 jQuery 的数组的包装器原型(prototype)方法。

它稍后将 element 参数变量分配到同一个数组中,然后返回整个 jQuery 实例。

从表面上看,整个函数只是将一个单个元素注入(inject)到重用 jQuery 对象中并返回它。

它被认为可以加快速度,当你在一秒钟内计算数百万次迭代时,它实际上确实如此,但在我看来,这是一个明显的微优化案例,在长时间的调试过程中可能会咬你的屁股。 — 完美杀死

关于jquery - jquery语句 "var collection = jQuery([1]);"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17699804/

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