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>

推荐这些文章:

JavaScript 内置对象:Math -------Math 对象不是构造函数

数字对象Math 里面求 最大值方法 -- Math.max(1,12,....)
例: console.log(Math.max(1, 99, 3)); // 99
如果一组数字,里面出现非数字的-- 返回NaN
例: console.log(Math.max(1, ...

Object.setPrototypeOf

 
 

let a={};
let b={};
// a的父级是b
Object.setPrototypeOf(a,b);

 

...

es6 -对象的扩展功能

对象的扩展功能
 1.is => is 等同于 === 
  eg:  console.log(Object,is(NaN,NaN)) ; true
2.assign() 有多个参数,也可以理解为有两个参数(一个目标参数,一个是由多个参数组成的参数)
  let  newObj = obje...

获取对象里面属性的个数

var  pageList = {
name1: 'aa'
name2: 'bb'
name3: 'cc'
}
console.log(Object.getOwnPropertyNames(ageList).length)  //3
 
 
let result =JSON.stringify(p...

JS如何判断一个对象是否为空、是否有某个属性

一、js判断一个对象是否为空
  方法一:

let obj1 = {}
let obj2 = {a:1}
function empty(obj){
for (let key in obj){
return false; //非空
}
return true; //为空
}
co...

【ES6】之let&const关键字

 1、var声明的变量会越狱,而let声明的变量有严格的局部作用域

// 1、var声明的变量会越狱,而let声明的变量有严格的局部作用域
{
var a=1;
let b=1;
}
console.log(a); // 1
...

对象常用函数:

1.  Object.assign();// 属性合并
2. Object.keys();// 返回以对象key为元素的数组
3. Object.freeze();// 冻结,防止对象被修改--不能修改,不可删除,不可写入,可读(枚举)
4. Object.seal();// 封闭,--不可修改,不可删除,可写入,可读(枚举)...

var let const 区别

1.var  存在变量提升,何为变量提升,
可以先使用,后定义
如: console.log(a) //不报错,打印 undefined
  var a= 1;
  多次定义,值为最后者
如 var a= 1;
   var a=2;
console.log(a) //2 
2. console....

<meta>标签

meta标签:<meta>自结束标签定义: 主要用于设置网页中的一些元数据,元数据不是给用户看的
属性:charset: 指定网页的字符集    <meta charset="utf-8">
name: 指定的数据的名称content: 指定的数据的内容    <me...

vue项目配置正式环境去掉console.log打印的日志

可以通过配置来控制是否显示console.log日志
配置位置:
项目根目录下有个babel.config.js
里面的plugins对象通过“transform-remove-console”插件来移除console.log

 
 
知道原理后,把如下代码注释掉,重新构建下正式环境工程就可以看到console.l...

文章标题:31.对象方法的扩展
文章链接:https://www.dianjilingqu.com/1479.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>