对js 面对对象编程的一些简单的理解
2016-07-27 16:30
387 查看
由简单开始深入:
最简单的 直接对象开始
这是一个简单的对象实例。但是如果我要创建多个实例,将会非常麻烦。
改进写法:使用我们经常听到的构造函数模式。(构造函数的取名默认首位大写)
再进一步:如果我们有很多实例了,但是每个实例中有重复包含了setNameh 函数 非常浪费内存。这里就要引用到耳熟能详的原型概念了--Prototype.
继续修改之前的构造函数[/code]
这种写法,将之前每个实例都拥有的相同功能简化为一个。存于prototype对象中。至于为何(参考js原型链)。
最简单的 直接对象开始
var desen = { age:24, name:'xyf', job:'fontEnd', getName:function(){ console.log(this.name); }, setName:function(name){ this.name = name; } }
这是一个简单的对象实例。但是如果我要创建多个实例,将会非常麻烦。
改进写法:使用我们经常听到的构造函数模式。(构造函数的取名默认首位大写)
function Desen(age,name){ this.age = age; this.name = 'name'; this.getName=function(){ console.log(this.name); } this.setName=function(name){ this.name = name; } }
使用构造函数的好处有很多。一来可以方便的创建多个实例,二来可以清楚的知道他们的原型对象(实例拥有[code]constructor属性,指向他们的构造函数)
再进一步:如果我们有很多实例了,但是每个实例中有重复包含了setNameh 函数 非常浪费内存。这里就要引用到耳熟能详的原型概念了--Prototype.
继续修改之前的构造函数[/code]
function Desen(age,name){ this.age = age; this.name = 'name'; this.getName=function(){ console.log(this.name); } } Desen.prototype.setName = function(name){ this.name = name; }
这种写法,将之前每个实例都拥有的相同功能简化为一个。存于prototype对象中。至于为何(参考js原型链)。
相关文章推荐
- js事件默认行为
- jsp <%%> <%!%>的区别
- js自定义随机数插件:yiRan
- js 添加删除替换class 类
- 用JS实现关闭当前窗口【兼容谷歌浏览器】
- JSP的out对象
- JavaScript学习
- 浅谈 JavaScript 中定义变量时有无 var 声明的区别
- JavaScript--全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)
- Gson的JsonParser使用
- js处理对象参数值,过滤掉对象参数值为""、null、undefined,并返回一个新对象
- param动作标记详解。
- JS中数组的操作
- 学习Javascript闭包(Closure)
- javascript——实现继承的6种方式
- 使用Gson的JsonReader解析Json数据
- javascript --创建对象的9种方式
- js简单校验
- mac开启safari开发模式(用于OC和JS交互)
- Using Visual Studio to Debug JavaScript in IE