zoukankan      html  css  js  c++  java
  • 6. 深度克隆_ES7**_arr.includes('孙悟空')

    1. 如何实现深度克隆

    • 利用 JSON 方法 (没办法克隆函数数据)

    `JSON.parse(JSON.stringify(xxx))`

    • 自定义方法

    检查所有数据类型的方法 `Object.prototype.toString.call(obj).slice(8, -1)`

    • function deepClone(obj) {
          let newObj = null;
          //判断obj是否是对象或者数组
          const type = checkType(obj);
          if (type === 'Object') {
              //创建一个新对象
              newObj = {};
          } else if (type === 'Array') {
              newObj = [];
          } else {
              return obj;
          }
      
          //遍历
          for (let key in obj) {
              //获取属性的值
              const value = obj[key];
              
              //检查属性值是否是对象或者数组
              if (checkType(value) === 'Object' || 'Array') {
                  //特殊处理
                  newObj[key] = deepClone(value);
              } else {
                  //基本数据类型的处理
                  newObj[key] = value;
              }
          }
          return newObj;
      }

    2. ES7

    指数运算符(幂): **

    `Array.prototype.includes(value)` : 判断数组中是否包含指定value

    3. nodejs

    是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

    特点:

    搭建服务器

    异步的非阻塞的I/O(I/O线程池)

    事件循环机制

    单线程

    跨平台

    缺点:

    回调函数嵌套太多、太深(俗称回调地狱)

    单线程,处理不好CPU 密集型任务

    应用场景:

    I/O 密集型的领域:如 Web 开发前端渲染,前端构建。

    低延迟的网络应用:如restful API、即时聊天。

    现阶段由淘宝牵头使用量越来越多,越来越多公司都使用了nodejs技术优化服务器,它日趋重要

    4. 谈谈 commonjs 模块化语法

    暴露模块的内容

    暴露的本质        module.exports 指向的值        默认为{}  

    module.exports

    module.exports = xxx

    module.exports.xxx = xxx

    exports

    exports.xxx = xxx

    引入其他模块

    require('模块路径')

    自定义模块路径必须以 ./ 或 ../ 开头,如果不是就报错 Cannot find module 'module1'

    模块文件后缀名可以省略, js 文件  json 文件 node 文件,只有以上三种文件,文件后缀名可以省略

    5. 数组去重的方法

    `[...new Set(arr)]`

     

    --------小尾巴 ________一个人欣赏-最后一朵颜色的消逝-忠诚于我的是·一颗叫做野的心.决不受人奴役.怒火中生的那一刻·终将结束...
  • 相关阅读:
    Jenkins部署war包到tomcat7,报错
    SVN的 安装
    Eclipse中使用Maven,报错“$MAVEN_HOME”
    fiddler模拟限速实战
    maven 笔记:maven Could not create the Java Virtual Machine
    maven项目目录结构 学习笔记
    Maven的安装学习笔记
    eclipse+PyDev遇到字符UTF-8的问题
    接口测试SoapUI参数化之Datasource20151002
    随感反思20150928
  • 原文地址:https://www.cnblogs.com/tianxiaxuange/p/10200837.html
Copyright © 2011-2022 走看看