当一个函数在 JQuery 中被链接时,操作的顺序是什么?
示例 1
$(selector).fun1(val,{fun2(){ }}
示例 2
$(selecter).fun1().fun2().fun3()
当一个函数在 JQuery 中被链接时,操作的顺序是什么?
示例 1
$(selector).fun1(val,{fun2(){ }}
示例 2
$(selecter).fun1().fun2().fun3()
从左到右。fun3()在 的结果(=返回值)上运行,在 的结果fun2()上fun2()运行fun1()。
这种链接可以在 JQuery 中完成,因为每个可链接函数都返回调用它的对象/元素。
所以在执行后$(selector).fun1()返回$(selector)元素。fun2()从返回的元素调用,依此类推。
在这个例子中:
$(selector).fun1(val,{fun2(){ }}
函数一的第二个参数是回调函数。这意味着fun1执行THEN fun2执行。
在这个例子中:
$(selecter).fun1().fun2().fun3()
如果所有功能都有持续时间,例如动画,它们就会尽快启动。否则它们按顺序执行fun1, fun2, fun3。
因此,对于动画,fun1和fun2将fun3是 3 个同时重叠的动画,但对于其他同步操作,它们只是按顺序发生。