zoukankan      html  css  js  c++  java
  • 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值
  • 相关阅读:
    面向对象设计原则之接口隔离原则
    面向对象设计原则之开闭原则
    [OOD]违反里氏替换原则的解决方案
    错误程序
    error: ‘for’ loop initial declarations are only allowed in C99 mode
    函数模板
    查找
    队列类模板
    栈类模板
    单链表的结点类模板
  • 原文地址:https://www.cnblogs.com/popeyesailorman/p/10589429.html
Copyright © 2011-2022 走看看