问答详情
源自:2-3 静态与实例方法共享设计

为什么要使用一个fn,而不直接在prototype上面搞

var $$ = ajQuery = function(selector) {

    return new ajQuery.prototype.init(selector);

}


ajQuery.prototype = {

name: 'aaron',

init: function(selector) {

this.selector = selector;

return this;

},

constructor: ajQuery

}


ajQuery.prototype.init.prototype = ajQuery.prototype


ajQuery.prototype.say = function() {

$("#aaron").html(this.name)

}


$$().say()


为什么不这样写


提问者:Doerthous3826529 2016-10-06 19:14

个回答

  • 慕无忌2114720
    2019-06-29 16:10:35

    压缩代码量

  • daydaystudy
    2017-06-14 15:58:55

    我觉得是老外想少写几个字母,哈哈

  • daydaytop
    2016-10-21 19:09:49

    除了加以区分,还有init 这个词太普遍了, init  可能在 jquery 有其他的实现。

    按照原文的方式写,init 只是 一个 fn 下面的方法,就不会影响  jquery 整体。

  • 小姜姜姜姜
    2016-10-07 22:10:53

    目前看到的最大的好处就是方便开发的时候阅读加以区分