不同版本的jquery,使用jquery构造函数时,返回的“名字”不同,求解?

新手上路,请多包涵

问题描述(有点长)

2.0.3版本中的jquery构造函数的定义方式(抽象版)

    function A () {
      return new A.fn.init()
    }
    A.fn = A.prototype= {
      init:function(){}
    }
    A.fn.init.prototype = A.prototype
    
    A() // init{}

3.4.1版本中的jquery构造函数的定义方式(抽象版)

    function B () {
      return new B.fn.init()
    }
    B.fn = B.prototype= {
    }
    var init = B.fn.init = function(){}
    init.prototype = B.fn
    
    B() // B.fn.init {}

问题:为什么第一种返回的是init{},第二种返回的是B.fn.init {}?

我用最简单的方法定义构造函数,实例化时,返回的是构造函数的名字,如下代码所示。

    function C(){}
    new C() // C{}

但是在前面两种方法都是以X.fn.init作为构造函数,第一种却返回init{},第二种才返回预期的样子,这是为什么,求大神解惑!!

阅读 530
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题