js支持多种编程范式,包括函数式编程,面向对象编程
创建对象
早期使用Object类,使用new关键字创建对象。现在使用字面量居多
对属性操作控制(属性描述符)
在前面我们的属性都是直接定义到对象内部,或添加到对象内部!!
这样我们就不能对某些属性做特殊的限制,比如:不能delete,不能被遍历出来
当我们想对某个属性做精准的控制时,可以使用属性描述符(Object.defineproperty)
Object.defineproperty (初体验)
属性描述符分类
数据属性描述符
测试
存储属性描述符
测试
vue2响应式原理就是存取属性描述符,data截取数据的get,set方法,收集依赖进行更新
同时定义多个属性
对象方法补充
创建对象的几种方式
1.字面量
2.工厂模式
输出为字面量形式,看不出对象是什么类型的
3.构造函数
构造函数也称之为构造器(constructor),通常是我们在创建对象时会调用的函数;
构造函数也是一个普通的函数,从表现形式来说,和千千万万个普通的函数没有任何区别;
那么如果这么一个普通的函数被使用new操作符来调用了,那么这个函数就称之为是一个构造函数