面向对象的程序设计
- 什么是面向对象? js概念为 - 无许属性的集合(基本值,对象,函数)
1.理解对象
属性的类型有哪些呢?
1.1 数据属性
-
数据属性简单的概括就是: ** 可读(value) 可写(writable) 可修改(configurable) 可枚举(enumerable)**
-
修改属性 Object.defineProperty(obj,argument,{})
-
修改配置属性第一次false 接下来不可修改
1.2 访问器属性
-
可不可以修改属性 (configurable) 可枚举(enumerable) get(读取) set(写入)
-
读取属性 Object.getOwnPropertyDescriptor(obj,argument)
2.创建对象
-
工厂模式 缺点:无法进行对象识别
-
构造函数模式
1.创建新的对象 2.构造函数的作用域的赋值给新的对象 3.为对象添加属性 4.返回新对象
-
构造函数也是一种函数 (特殊之处在于可以构造一个新的对象)
** 缺点:需要额外定义内部函数方法**
- 原型模式
函数具有自己的 protoType 它是一个指针 指向对象 包含所有的属性和方法 对象的实例信息加入原型中 可以保证所有的对象共享用