js基础6 — 数组对象
console.log('1.Object.assign()方法的作用是浅拷贝一个对象,合并对象,合并具有相同属性的对象'); var obj = { a:1, name: { 'ming': 'fan', } }; var copy = Object.assign({},obj); obj.name.ming = 'yang'; console.log(obj.name.ming); console.log(copy.name.ming); // 关于深拷贝,可以使用 JSON.parse(JSON.stringify(obj1)); 缺点:无法复制函数,原型链没了。 console.log('2.Object.create()方法的作用是创建一个新对象,并且可以继承父类函数的原型对象和属性'); var parent = { getName: function() { return this.name; } }; var child = Object.create(parent, { name: {value: 'yang'} }); console.log(child); console.log('3.Object.entries()方法返回一个数组,其元素是与直接在object上找到的可枚举属性键值对相对应的数组。属性的顺序与通过手动循环对象的属性值所给出的顺序相同'); const anObj = { 100: 'a', 2: 'b', 7: 'c' }; console.log(Object.entries(anObj)); // [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ] Object.entries(obj).forEach(([key, value]) => { console.log(`${key} ${value}`); // "a 5", "b 7", "c 9" }); console.log('4.Object.freeze()方法的作用冻结一个数组或者对象,被冻结之后就不能修改了'); console.log('5.Object.is()方法的作用判断两个值是否相同'); console.log(Object.is([],[])); //false console.log(Object.is(undefined,undefined)); //ture console.log(Object.keys({'a':1,'b':'string'})); // a,b 输出key值