js封装对象——prototype的使用
2016-02-28 21:50
671 查看
最近要做一js的控件,因为同一页面会加载好多个这种控件,并分别对不同的内容进行控制,为了不全篇复制粘贴,我想要将这个控件做成一个js的对象形式,因为从来没写过,所以就网络一下,总算整理出来了。
这里不说我那个控件,用一个别的例子。
最一开始,我写的是这样的:
我以为在调用new的时候是可以初始化的,即调用initialize函数:
结果不是,折腾了好久,才发现initialize函数根本就不会在new的时候执行,坑爹啊!!
正确的写法应该是这样:在声明tool时的函数就是构造函数——原谅我这么称呼吧,我不知道该怎
么称呼它——这里面负责初始化一些变量,然后prototype里才是公有的函数:
这样就可以正常调用了:
这里不说我那个控件,用一个别的例子。
最一开始,我写的是这样的:
var tool=function(){}; tool.prototype={ initialize:function(div){this._div=div; } }
我以为在调用new的时候是可以初始化的,即调用initialize函数:
var temp=new tool('testDiv')
结果不是,折腾了好久,才发现initialize函数根本就不会在new的时候执行,坑爹啊!!
正确的写法应该是这样:在声明tool时的函数就是构造函数——原谅我这么称呼吧,我不知道该怎
么称呼它——这里面负责初始化一些变量,然后prototype里才是公有的函数:
var tool=function(div){this._div=div; }; tool.prototype={ doSth:function(){ alert(this._div); } }
这样就可以正常调用了:
var temp=new tool('aaa'); temp.doSth()
相关文章推荐
- html/js定位到锚点(单页hash跳转)
- Dynamics CRM2016 升级老版本报“JavaScript Web 资源包含对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决办法
- Dynamics CRM2016 升级老版本报“JavaScript Web 资源包含对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决办法
- Dynamics CRM2016 升级老版本报“JavaScript Web 资源包含对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决办法
- Dynamics CRM2016 升级老版本报“JavaScript Web 资源包含对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决办法
- js中的条件语句
- 【 AnglularJS】——核心特性之MVC & 模块化
- JavaScript系列(五:事件)
- JavaScript高级程序设计(第3版)第五章读书笔记
- 从字符串拼接看JS优化原则
- js提交表单
- JavaScript中的this
- [LeetCode][JavaScript]Maximal Square
- [Hapi.js] Serving static files
- JavaScript 正则表达式
- javascript命名问题
- Java与javascript
- JavaScript 垃圾回收
- JS1-属性操作
- javascript & DHTML cookbook摘抄