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){
//当写的时候,触发的函数
}
})