js 高级程序设计 第六章

171 阅读1分钟

面向对象的程序设计

  • 什么是面向对象? 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 它是一个指针 指向对象 包含所有的属性和方法 对象的实例信息加入原型中 可以保证所有的对象共享用