gpt4 book ai didi

javascript - jQuery 如何区分 $() 和 $.method 调用?

转载 作者:行者123 更新时间:2023-12-01 02:28:03 24 4
gpt4 key购买 nike

查看旧版 jQuery 版本的以下结构:

(function( window, undefined ) {

var jQuery = (function() {

var jQuery = function( selector, context ) {
return new jQuery.fn.init( selector, context );
};

jQuery.fn = jQuery.prototype = {
init: function( selector, context ) {
// ...
return this;
}
// jQuery API methods
}

// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype = jQuery.fn;

return (window.jQuery = window.$ = jQuery);

})();

})(window);

很容易理解:

jQuery.fn = jQuery.prototype = {
init: function( selector, context ) {
return this;
}
}
jQuery.fn.init.prototype = jQuery.fn;

是正常使用调用 jQuery 时触发的部分,例如

$('p')

jQuery('p')

确实不清楚如何调用 $.ajax() 形式的 API 方法或$.isArray()比如说,您将在列出的代码中放置一个自定义方法,并使用 $.myCustomMethod() 调用它。任何帮助将非常感激。

最佳答案

您可以自己编写一个函数:

function something(n) {
return n + 1;
}

并调用它:

var x = something(0);

您还可以将属性附加到函数,因为它是一个对象:

something.else = function(n) {
return n - 1;
};

然后您可以通过属性引用调用该函数:

var y = something.else(0);

jQuery 库使用全局 jQuery 对象(通常称为 $)作为放置通常有用但与集合没有任何隐式关系的函数集合的位置元素或对象的各种 jQuery“方法”的作用。一个明显的例子是 $.ajax(),它非常有用,但实际上与 DOM 没有任何关系。

通过将所有这些函数保留为 $ 的属性,库可以避免“污染”全局地址空间。

关于javascript - jQuery 如何区分 $() 和 $.method 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35158888/

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