gpt4 book ai didi

jquery - jQuery 通过链接进行了多少次循环?

转载 作者:行者123 更新时间:2023-12-01 01:32:32 25 4
gpt4 key购买 nike

假设我有这个 jQuery 代码:

$('.popUp').width(300).height(300).text('Hi!').fadeIn(1000);

假设 .popUp 有 50 个元素。 width(300) 将循环遍历这 50 个元素并应用适当的属性值。

我的问题是:然后会发生什么?当 height(300) 开始运行时,它是否会重新开始(新循环)并再次应用属性值?

后台发生了什么?在这个特定的示例中,是否会有 4 个循环(因为有 4 个函数)或 1 个循环,其中每个函数都会一次性应用?

最佳答案

是的,jQuery 将循环遍历所有元素并设置宽度,然后再次循环遍历它们并设置高度。

jquery's access function 的源代码中您可以看到该循环在选定的每个元素上运行的位置。

if ( fn ) {
for ( ; i < len; i++ ) {
fn(
elems[ i ], key, raw ?
value :
value.call( elems[ i ], i, fn( elems[ i ], key ) )
);
}
}

访问方法是最终调用诸如设置高度和宽度之类的东西的方法。

// Multifunctional method to get and set values of a collection
// The value/s can optionally be executed if it's a function

我通过在控制台中执行以下操作,使用调试器单步执行调用来遇到此问题。

var height = $.fn.height;
$.fn.height = function() {
debugger;
return height.apply(this, arguments);
}

关于jquery - jQuery 通过链接进行了多少次循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33543741/

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