gpt4 book ai didi

JQuery源代码问题

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

我对以下代码片段有两个问题。

(1)。 “return new jQuery.fn.init(selector, context, rootjQuery);”的目的是什么?为什么它在 JQuery 函数中返回另一个实例?

(2)。为什么prototype.constructor被重新定义为JQuery?

// Define a local copy of jQuery
var jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
},

... ...

jQuery.fn = jQuery.prototype = {
constructor: jQuery,
init: function( selector, context, rootjQuery ) {
var match, elem, ret, doc;

谢谢!

最佳答案

  1. 当 JQuery 作为普通函数调用时,将使用 new JQuery.fn.init(...) 创建并返回 JQuery 的新(类)实例。这样,开发者就不必在 $(..) 之前添加 new 关键字。
  2. JQuery.fnJQuery.prototype 的快捷方式。编写 JQuery.fn.customMethod = function(){...} 比编写 JQuery.prototype.customMethod = ... 更方便。由于 JQuery 通常也可以通过 $$j 访问,因此引用 JQuery.prototype 的简短方法是 $.fn

关于JQuery源代码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7644199/

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