JavaScript基础(二十五)-Object的方法

Object这个类是所有类的父类,方法和属性,所有的对象都可以使用.


(一)原型方法(实例方法和属性)

(1)hasOwnProperty(判断当前对象是否具备这个属性 不会读取原型)


personl.isPrototypeOf(son) --->   true


(2)isPrototypeOf(判断当前对象是否处在传入对象的原型链上)

判断当前对象是否存在传入对象的原型链(__proto__)上.


(3).propertyIsEnumerable 判断当前属性是否可以枚举

可枚举即可遍历

(4).toLocaleString  格局本地格式转为字符串  toString 转为字符串

(5).valueOf 提取对应的value值


(二)原型属性

constructor  指向当前对象的构造函数  __proto__ 对象隐式原型.

(三)静态方法(Object 方法调用的)

(1).Object.is  判断两个对象是否是一个对象.

Object.is(NaN,NaN)    //true  !!!

(2).assign   浅拷贝

将后面对象的内容拷贝到前面这个对象里返回前面这个对象.

(3).create  根据传入的内容创建相关的对象


(4).原生js实现Object.create


(5).fon in 遍历对象  for of 遍历对应的迭代器

Object.keys(obj)   将可枚举的key全部加入到一个迭代器返回

Object.values(obj)  将value全部加入到一个迭代器返回

Object.entries(obj)  将它键值队全部加入到一个迭代器返回

(6).getPrototypeOf  获取原型   setPrototypeOf  设置原型


(7).freeze 冻结(只能查询),isFrozen,是否冻结.       seal  密封(只能查询和修改  不能删除和添加新的属性) isSealed 是否密封           preventExtensions  不可扩展(不能添加新的属性) 

(8).


(9).属性对象   defineProperty   定义单个属性


10.访问器属性  对已经存在的属性进行访问


(四).for in 和 Object.keys 和 Object.getOwnProertyNames的区别

for in 包含继承的属性及自身的属性 (不包含不可枚举的属性)

Object.keys 只包含自身的属性 (不包含继承的和不可枚举的属性)

Object.getOwnProertyNames 包含自身的属性  包含不可枚举的(不包含继承的)

三个内容都不包含symbol的属性


(五).原型方法重点 hasOwnProperty isPropertypeOf

Object是所有类的父类 所以他的原型方法及属性所有的类都拥有

Object的静态方法是为所有的对象服务的 里面的参数都是对象

defineProperty和观察者模式是vue2的底层 (实现vue2的双向数据绑定)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容