JavaScript高级面向对象
1. 什么是面向对象?
面向对象不是技术,而是一种处理问题的思路,一种编程思想。
面向对象,是将程序中的数据和功能进行封装,以达到代码复用性、低耦合、增强代码功能扩展。
2. 面向对象的特点
面向对象有三个主要的特点:封装、继承和多态。
2.1 通过new Object得到
var p1 = new Object();
p1.name = "刘帅哥";
p1.age = 16;
p1.sex = "男";
p1.name = "刘帅哥";
p1.age = 16;
p1.sex = "男";
2.2 json 简单一种javascript对象
var p2 = {
name : "马天鹏",
age : 15,
sex : "女",
say : function() {
alert("呵呵");
}
};
name : "马天鹏",
age : 15,
sex : "女",
say : function() {
alert("呵呵");
}
};
2.3 使用工厂模式的方案来解决代码的冗余问题
function createObject(name,age,sex,color) {
var temp = new Object();
temp.name = name;
temp.age = age;
temp.sex = sex;
temp.color = color;
temp.say = function() {
alert("我的名字是:"+this.name);
}
}
var p1 = createObject("马天鹏",23,"未知","黑色");
2.4 使用构造函数来创建一个对象
通过代码分析大致得知:say方法在每一个对象创建后都存在一个方法拷贝,我们在代码调用的时候,
say方法才会在堆中创建,这样增加了内存消耗,当对象大量存在方法时,内存的消耗就会高,这样不行.
3.封装--javascript的原型(prototype)
4.原型的重写