JS高级—07—对象;原型;原型链;js继承如何实现;



一、对象

1.1概念

1.2定义对象的两种方式

 除了这两种,还可以使用new 构造函数或

new 构造函数+原型;

1.3对对象属性的控制之数据属性描述符

 

当我们直接在一个对象上定义某个属性时:
指这种方式:
const obj ={
 name:"kobe"

}
当我们通过属性描述符定义一个属性时: 指这种方式: Object.defineProperty
= { obj, "age", { 18 } }

 

1.4对对象属性的控制之存取属性描述符

可以像闭包一样的,定义对象的私有属性;

 

1.5同时定义多个属性

1.6对象的其他方法

有一些属性不能从forin或者object.keys()获取,因为他们的enumable属性设为false,

这个时候只能用getOwnPropertyDescritors方法来获取;

数据的增删改查

preventExtensions,不能添加新的属性;

seal:不能添加新的属性外,还不能修改原有属性,还不能删除原有属性;

freeze:不能添加新的属性外,还不能修改原有属性,还不能删除原有属性;还不能修改原有属性的value;

 

二、函数与构造函数

当我们new一个函数的时候,这个函数就是构造函数,一般默认将构造函数名大写;

我们现在可以通过构造函数来创建一个原型;

后面学习了原型后,我们可以通过构造函数+原型的方式更好的创建对象;

 

相关