6. 深度克隆_ES7**_arr.includes('孫悟空')

1. 如何實現深度克隆前端

  • 利用 JSON 方法 (沒辦法克隆函數數據)

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

  • 自定義方法

檢查全部數據類型的方法 `Object.prototype.toString.call(obj).slice(8, -1)`json

  • 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)` : 判斷數組中是否包含指定valuerestful

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)]`

相關文章
相關標籤/搜索