定义:就是直接使用类名调用的方法,比如Object.getOwnPropertyNames(obj),obj是一个对象,且静态方法是无法被子类继承或实例对象拥有的。
1.Object.getprototypeOf(obj)获得obj的原型,也可以使用obj.__proto__属性获得obj的原型(obj一般都是指实例对象)
2.Object.getOwnPropertyName(obj):可以将obj的可枚举和不可枚举的属性的名称组成一个数组返回
3.Object.keys(obj):可以将obj的可枚举和不可枚举的属性的名称组成一个数组返回
4.Object.values(obj):可以将obj的可枚举和不可枚举的属性的值组成一个数组返回。
5.Object.defineProperty(obj,propName,desc):该方法可以为obj新增一个名为propName的属性,同时它的属性定义为desc,desc使用一个对象赋值。
作用:是Vue实现数据双向绑定的原理。通过这个方法来劫持各个属性的setter、getter。在数据变动时发布消息给订阅者,触发相应监听回调。
(1)
(2)
6.Object.create(proto,[props]) 以proto为原型,新建一个实例对象,同时将props定义的属性设置给这个新对象,以这种方式新建的对象都是Object类型.
7. Object.getOwnPropertyDescriptor(obj,propName) 返回obj的属性propName的属性描述符
8.Object.preventExtensions(obj) 可以禁止obj对象的属性扩展
9.Object.seal(obj) 可以禁止obj对象的属性扩展和删除,它相对与preventExtensible方法而言 ,将所有属性的configurable属性设置为false。
10.Object.freeze(obj) 可以禁止对obj的所有操作,它相对与preventExtensible方法而言,将属性的configurable属性和writable属性都设置为了false。