(四十五)JavaScript面向对象编程(OOP)
1:基本概念
用抽象方式创建基于现实世界模型的一种编程模式
每个对象能够接收消息,处理数据和发送消息给其他对象
每个对象都可以被看作是一个拥有清晰角色或责任的独立个体
促进更好的灵活性和可维护性
Namespace - 命名空间
Class - 类 - 定义对象的特征(属性和方法)
Object - 对象 - 类的一个实例
Property - 属性 - 对象的特征
Method - 方法 - 对象的能力
Constructor - 构造函数 - 对象初始化的瞬间被调用的方法
Inheritance - 继承 - 继承另一个类的特征
Encapsulation - 封装 - 把数据和相关的方法绑定在一起使用
Polymorphism - 多态 - 不同类可以定义相同的方法或属性
面向过程
面向对象
冰箱.开门()
冰箱.装进(大象)
冰箱.关门()
2:Namespace - 命名空间
-
命名空间只是另一个包含方法、属性和对象的对象
创建全局变量
所有的变量、方法和功能成为该对象的属性
var myNameScape = myNameScape || {};
/* 子命名空间 */
myNameScape.event = {};
/* 定义方法和属性 */
myNameScape.commonMethods = {
name: '',
validateName: function(name){
/* name格式验证 */
},
};
/* 定义方法 */
myNameScape.event = {
addListener: function(el, type, fn) {
/* ... */
},
removeListener: function(el, type, fn) {
/* ... */
},
}