原创 【ES8系列】獲取 Object 對象屬性描述符

什麼是描述符(descriptor)?  // 業務場景:從接口拿到學生信息數據,某些學生退學,所以展示時需要跳過 const data = { PortLand: '78/50', DuLin: '88/52', Lima

原创 【ES6系列】Iterator 遍歷器

ES6如何讓不支持遍歷的數據結構“可遍歷”? 1、簡單數據結構的同類數據聚合 // 簡單數據結構的同類數據聚合 // 業務場景:聚合不同圖書類型的作者 let authors = { allAuthors: { fictio

原创 【ES7系列】Array.prototype.includes

Array.prototype.includes() 方法用來判斷一個數組是否包含一個指定的值,根據情況,如果包含則返回 true,否則返回false。 const arr = [1, 2, 3, 4, 5, 6, 7] console

原创 【ES9系列】For await of 異步操作集合遍歷

ES9 異步操作集合遍歷 // 異步任務 function Gen(time) { return new Promise((resolve, reject) => { setTimeout(function () {

原创 【ES8系列】String 補白、格式化

  // 業務場景小於10補0 for (let i = 1; i < 32; i++) { if (i < 10) { console.log(`0${i}`) } else { console.log(i)

原创 【JS字符串】JS字符串方法整理

方法 描述 參數說明 返回值 charAt(index) 返回指定索引位置的字符 index:必需。表示字符串中某個位置的數字,即字符在字符串中的位置。 返回在指定位置的字符。 charCodeAt(index) 返回指定索引位置字符的

原创 【JS數組】JS數組方法整理

ES6數組新增方法與ES5對比 方法 描述 改變原數組 返回值 參數說明 push() 在數組尾部追加元素 是 新的數組長度   pop() 刪除(彈出)數組最後一個元素 是 被刪除的元素   unshift() 在數

原创 【node】nodemailer 實現郵件發送

nodemailer 郵件發送功能可用於用戶註冊等業務場景,高效、低成本。 我們這裏使用騰訊的郵件服務。登錄QQ郵箱,點擊設置-帳戶,開啓SMTP服務並生成制授權碼,複製授權碼,後面要用。這個授權碼要安全保存,不要外泄。  配置文件 c

原创 【Babel】Babel的工作原理

Babel 是一個工具鏈,主要用於將 ECMAScript 2015+ 版本的代碼轉換爲向後兼容的 JavaScript 語法,以便能夠運行在當前和舊版本的瀏覽器或其它環境中。 // Babel 輸入: ES2015 箭頭函數 [1,

原创 【Vue】在Vue項目中,開啓本地靜態服務,數據mock

安裝快速原型開發工具  npm install -g @vue/cli npm install -g @vue/cli-service-global  在項目根目錄添加配置文件,指定本地服務代理ip和端口號、接口路徑如下:  // v

原创 【Vue】VueRouter

首先在項目裏安裝vue-router npm i vue-router 創建一個router.js 配置用來router touch src/router.js // router.js import Vue from 'vue'

原创 【ES6系列】Proxy 數據保護實例

業務場景:對數據進行升序、降序、重置操作而不影響原始數據,除了用閉包的方式實現之外,還可以用proxy來實現。  <template> <div class="price"> <ul> <li v-for="it

原创 【Vue】組件間通信

單向傳值(props):父組件向子組件傳值,任何類型的值都可以傳給一個 prop。 實現概述:父組件通過指令向子組件傳值,子組件通過props接收。 // 父組件-App.vue <template> <div id="app">

原创 【Vue】Vue三要素模板解析、響應式、渲染

Vue 實現流程:         1、把模板解析爲 render 函數                        · 運用 with                        · 模板中的所有信息都被 render 函數包含  

原创 webpack 打包報錯:CleanWebpackPlugin is not a constructor 解決方案

const { CleanWebpackPlugin } = require('clean-webpack-plugin'); plugins: [ + new CleanWebpackPlugin() ]  plugins