Object 的一些静态方法

Object 的静态方法(静态方法:在类身上的方法,动态方法:在实例身上的方法)

1.Object.assgin(); 浅拷贝

将多个对象的可枚举属性拷贝到目标对象上,并且返回赋值后的目标对象。
从右往左赋值。
 1     let obj = {
 2         name: '小明',
 3         age: 99,
 4     };
 5     let obj3 = {
 6         name: '小强',
 7         age: 88,
 8         o: {n: 'h'}
 9     };
10     let obj2 = Object.assign({}, obj, obj3);
11     obj2.o.n = 20;
12     console.log(obj2);//{name: "小强", age: 88, o: {…}} 并且 o: {n: 20}

  2.Object.portotype.toString 检测数据类型 (详情请看 检测数据类型的方法 这个分类)
   3.Object.defineProperties(obj,{})       (例子请看 方法 分类中的另一个课件)
        给对象定义属性,如果存在该属性,
则用新定义的属性更新已存在的属性,
如果不存在该属性,则添加该属性。

enumerable(是否可枚举):默认为false
如果设置为false那么,能够被in运算,但是不能被for in循环到
writable(是否可写):默认为false
configurable:是否 可被delete,false不能被删除


能够修改对象中的一个属性,数据劫持

Object.defineProperty(obj,'name',{
get:function(){
//当读的时候,触发的函数
},
set:function(newVal){
//当写的时候,触发的函数
}
})

猜你喜欢

转载自www.cnblogs.com/MrZhujl/p/9938678.html