31.对象方法的扩展

<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8" />     <meta http-equiv="X-UA-Compatible" content="IE=edge" />     <meta name="viewport" content="width=device-width, initial-scale=1.0" />     <title>Document</title>   </head>   <body>     <script>       // 1.Object.is  判断两个值是否完全相等,类似于===,但是又不太一样,比如NaN===NaN       // console.log(Object.is(120, 100));       // console.log(Object.is(NaN, NaN));       // console.log(NaN === NaN);       // console.log(NaN !== NaN);
      // 2.Object.assign  对象的合并---也可用于对象的浅拷贝       let config1 = {         host: "localhost",         port: 3306,         name: "root",         password: "root",         test1: "测试1",       };
      let config2 = {         host: "https://www.baidu.com",         port: 33060,         name: "百度",         password: 123,         test2: "测试2",       };       console.log(Object.assign(config1, config2)); //后面对象里的属性会把前面对象里同名的属性覆盖掉,不相同的则保留
      // 3.Object.setPrototypeOf,Object.getPrototypeOf       let school = {         name: "xxx",       };
      let cities = {         address: ["xx1", "xx2", "xx3"],       };
      // 此方法不建议这样做,应该在创建对象的时候就把原型设置好,效率高     Object.create(proto, [propertiesObject])       Object.setPrototypeOf(school, cities); //为school设置原型对象为cities       console.log(school);       console.log(Object.getPrototypeOf(school));     </script>   </body> </html>
上一篇:如何解决macbook开机密码输入正确,却提示“密码错误”无法登陆?


下一篇:尚硅谷vue - 10 - 2 单文件组件