jQuery面向对象的写法
2024-09-01 15:01:36
定义的写法
//构造函数
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();
这样就形成了一个引用的传递。
最新文章
- 拼图小游戏之计算后样式与CSS动画的冲突
- 弄一个ajax笔记方便查询-基础知识篇
- 如何将App程序发布到App Store?
- Android listview addHeaderView 和 addFooterView 详解
- java常用
- sql-mode=";STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";问题解决
- 11月23日《奥威Power-BI报表集成到其他系统》腾讯课堂开课啦
- 剑指offer(07)-调整数组顺序使奇数位于偶数前面【转】
- [转载]解决zabbix在configure时候遇到的问题(Ubuntu)
- Android中的缓存机制与实现
- Hexo博客搭建图文教程
- 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路
- Immediate Decodability
- Eclipse 在线安装fat jar插件
- poj 1088 动态规划
- javascript基础(幼兔、小兔成兔数量等典型例题)
- jdk环境配置以及java执行过程
- python list初始化技巧
- springboot之定时任务
- 【pyqtgraph】pyqtgraph-鼠标互动