概念
定义:
Object-oriented programming 面向对象程序设计
对象是类的实例
它将对象作为程序的基本单元,
将程序和数据封装在其中,
以提高软件的重用性,灵活性和扩展性
特性:
继承
封装
多态
继承
基于原型的继承:
prototype属性与原型
原型中的prototype指向父类
改变prototype:
修改某项属性,前面受影响
重写prototype,前面不受影响
实现继承的方式:
1 |
Student.prototype = new Person();
|
|
1
2
|
Student.prototype =Object.create(Person.prototype);
|
|
1
2
3
4
5
6
7
|
if (!Object.create) {
Object.create = function (prototype) {
function F() {}
F.prototype = prototype;
return new F();
};
} |
模拟
模拟重载:
根据参数类型和参数个数分别执行
通过arguments和typeof类型判断实现
链式调用:
核心:return this
模块化:
函数立即执行返回给变量
|
1
2
3
4
5
6
7
8
9
|
var module = function () {
var name = 'guo';
function fun() {
}
return {
name: name,
fun: fun
};
}(); |