课程
/前端开发
/jQuery
/jQuery源码解析(架构与依赖模块)
return new ajQuery.fn.init( selector );为什么一定要有ajQuery.fn这个命名空间,直接换成ajQuery.prototype不一样的吗?高出这么多对象干什么
2015-11-20
源自:jQuery源码解析(架构与依赖模块) 2-2
正在回答
你好,我当时也是对这个感到疑惑,这边说下我的理解,fn就是prototype的别名,简称, 之所以要这么做,其实就是prototype作为一个关键字是没办法被压缩的,所以好处就是fn可以减少代码量,jq库里面有很多地方都是 $.fn.extend(...),其实是完全等价于$.prototype.extend(...), 所以主要应该就只有减少代码量而已。
自己回答自己
举报
由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密