定义的写法

//构造函数
function test(){
//construct code
}
//初始化方法
test.prototype.init = function(){
//init code
};
//扩展方法
test.prototype.expandFunc = function(){
//expend function code
};

调用的写法

//定义一个对象实例
var t = new test();
//初始化
t.init();
//调用扩展方法
t.expandFunc();

当我们new了一个新的对象实例test出来后,test内会自动带有一个constructor属性,这个属性指向构造函数本身

alert(test.constructor);

因为js在我们创建了一个新的对象后会自动执行这样一步操作

test.prototype.constructor = test;

jQuery源码的写法

//构造函数
function jQuery(){
//construct code
return new jQuery.prototype.init();
}
//初始化方法
jQuery.prototype.init = function(){
//init code
};
//扩展方法
jQuery.prototype.expandFunc = function(){
//expend function code
};

这样在构造函数被调用以后就会自动执行init()了。

jQuery().expandFunc();

但是如果只这样调用的话,init()并没有expandFunc()这个方法,所以我们改成以下调用方法:

jQuery.prototype.init.prototype = jQuery.prototype;
jQuery().expandFunc();

这样就形成了一个引用的传递。

最新文章

  1. 拼图小游戏之计算后样式与CSS动画的冲突
  2. 弄一个ajax笔记方便查询-基础知识篇
  3. 如何将App程序发布到App Store?
  4. Android listview addHeaderView 和 addFooterView 详解
  5. java常用
  6. sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"问题解决
  7. 11月23日《奥威Power-BI报表集成到其他系统》腾讯课堂开课啦
  8. 剑指offer(07)-调整数组顺序使奇数位于偶数前面【转】
  9. [转载]解决zabbix在configure时候遇到的问题(Ubuntu)
  10. Android中的缓存机制与实现
  11. Hexo博客搭建图文教程
  12. 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路
  13. Immediate Decodability
  14. Eclipse 在线安装fat jar插件
  15. poj 1088 动态规划
  16. javascript基础(幼兔、小兔成兔数量等典型例题)
  17. jdk环境配置以及java执行过程
  18. python list初始化技巧
  19. springboot之定时任务
  20. 【pyqtgraph】pyqtgraph-鼠标互动

热门文章

  1. 求1到N(正整数)之间1出现的个数
  2. Dijkstra、Bellman_Ford、SPFA、Floyd算法复杂度比较
  3. 《剑指offer》--- 两个链表的第一个公共结点
  4. linux学习笔记4
  5. web三大组件的加载顺序
  6. 平衡树以及AVL树
  7. iOS OC语言原生开发的IM模块--RChat
  8. 使用android资源
  9. 秒杀多线程第八篇 经典线程同步 信号量Semaphore (续)
  10. [洛谷P4626]一道水题 II