js之面向对象----封装篇
2015-06-18 15:29
471 查看
学习了一天的面向对象总结一下,共分为三类 --!老规矩第一部分是概念性知识!!! 面向对象编程,我们可以把他想象成我们在造人。一个对象便是一个人,这个人有胳膊有腿,这便是一个对象的属性或者方法。。然后再通过用户的操作指令(click,hover等)来调用我们的js(我们制造的小人),控制我们的小人来执行不同的动作!
#_#貌似我解释的够抽象。。。
当然了面向对象最大的优点就是复用性强、节省代码、提高开发效率、下来来完成我的处女作文章。。。
1、工厂模式
--#学习了这个模式真的挺受教的,开始怎么写都有错误,最后通过问了下朋友才弄明白,原来下面的例子中varobj=newObject();
这句话中的Object是不可以改变的,他是js对象(我是这么认为的,如有不对请指出)当然这句话也可以这么写
varobj={};或者varobj=newfunction(){}; //从这几种方式我想大家应该可以猜到我们varobj只要是等于一个对象({})就是可以的。
functionbox(name,age,fuck){ varobj=newObject();//windows对象 obj.name=name; obj.age=age; obj.run=function(){ returnfuck; }; returnobj; }; varbb=box('小明','38','北京市'); console.log(bb.run());//北京市
注:工厂模式生产出来的实例不支持用prototype继承!所以为了后期维护代码,不建议经常使用。
看到一篇文章上说,不让使用this或者new的时候使用这种工厂模式。。。有点不懂,,什么情况会不能使用this或者new呢?? 实在搞不懂这种写法什么时候会用到。。。。好吧不纠结了。。知道这种写法就好。。。。
2、构造函数 也是大家喜欢用的一种方式(更完美的是+原型模式混合着写),
functiondog(){ this.cat=123; this.mao=456; this.stu=function(){ console.log(this.mao); } }; //console.log(typeofdog);
3、原型模式(继续上面构造函数的例子)
dog.prototype.gou=function(){ console.log(this.mao); }; varani=newdog(); //ani.gou();456 //console.log(ani);dog{cat:123,mao:456,stu:function,gou:function}
2和3加起来就是个人认为就是完美的开放方式啦。。。。原型+构造函数。 第一次总结这么多。。想想还有些鸡冻呢。。。如何说的不对的地方,还请指出。。 咦?貌似面向对象还缺一部分吧。。。貌似还有继承。。除了继承还有其他的嘛?明天再研究。。。去吃饭。。。。
相关文章推荐
- 右上角鼠标滑过展开收缩动画效果js代码的演示页面
- 理解Javascript_07_理解instanceof实现原理
- 理解Javascript_06_理解对象的创建过程
- 一些基本js,php代码块收集
- javascript点滴
- 使用 jsoup 对 HTML 文档进行解析和操作
- JS垮浏览器取得页面视口的大小
- JavaScript 预解析的原理及实现
- JS垮浏览器取得窗口左边和上边的位置
- JavaScript学习总结-技巧、实用函数、简洁方法、编程细节
- ExtJs布局详解
- +js实现分页浏览到底部自动加载
- JS实现密码加密(base64, md5, sha1)
- 重新回顾JSP
- JavaScript版拼图小游戏
- 用JS获取地址栏参数的方法
- moment.js中文api
- Extjs编辑单行后 刷新单行
- js比较运算符==与===的区别
- 非常有意思的一个页面加载条js----PACEJS