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

来源:2-3 静态与实例方法共享设计

Doerthous3826529

2016-10-06 19:14

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()


为什么不这样写


写回答 关注

4回答

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

    压缩代码量

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

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

    热爱学习的小...

    说的好像有那么一丢丢道理,哈哈哈

    2018-07-24 14:30:57

    共 1 条回复 >

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

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

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

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

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

jQuery源码解析(架构与依赖模块)

由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密

84047 学习 · 280 问题

查看课程

相似问题