Object.assign() 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
语法:Object.assign(target, ...sources);
如下示例:
html代码:<input type="button" value=" 走 " οnclick="testf()" >
js代码
<script type="text/javascript">
// Object.assign() 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
// 语法:Object.assign(target, ...sources);
function testf(){
//1、复制对象(克隆一个对象)
var obj1 = {
id:"007",
name:"张三疯"
};
var obj2 = Object.assign({},obj1);
console.log(obj2);//obj2和obj1是相同的。{ id:"007", name:"张三疯" };
// 2、合并对象
var obj1 = {
id:"007",
name:"张三疯"
};
var obj2 = Object.assign({id:"008",sex:"男"},obj1);
console.log(obj2);//{id: "007", sex: "男", name: "张三疯"}
// 如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖前面的源对象的属性。、
}
//3、object.assgin():只是浅拷贝
var obj1 = {
id:"007",
name:"张三疯",
address:{
province:"陕西省",
city:"西安市"
}
};
var obj2 = Object.assign({id:"008",sex:"男"},obj1);
obj1.address.province="北京";
console.log(obj1);//obj1.address.province是北京
console.log(obj2);//obj2.address.province也是北京
</script>