6. 深度克隆_ES7**_arr.includes('孫悟空')
阿新 • • 發佈:2018-12-30
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') {
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)]`