原创 函數提升的蜜汁行爲

衆所周知,JS裏,變量有變量提升,函數有函數提升。ES6之前沒有塊級作用域。然而,當用函數聲明的方法定義function並遇到非ES6情況下的{}時,卻有一些蜜汁行爲。 一道題引發的慘案 if (true) { a =

原创 VUE 引入iconfont圖標

VUE 使用svg 選圖標 在Iconfont-阿里巴巴矢量圖標庫上把需要的圖標添加至項目,並下載至本地。 將下載的iconfont.js文件導入至自己的項目。 定義Icon組件 // src/common/Icon-svg.vue <

原创 html保存爲PDF

PDF 保存 原理 html轉canvas再轉pdf以下是React中使用,改成VUE使用原理也差不多該方案勝在省事,但是因爲是轉圖片存,所以分頁處可能會有點問題 第三方庫 yarn add html2canvas jspdf 代碼 直接調

原创 react的一些性能優化

react 性能優化 shouldComponentUpdate 對於對視圖沒有關聯,但可能更新的數據,可以用shouldComponentUpdate過濾掉,減少無所謂的更新 返回一個Boolean值,true則更新,false則不更新,

原创 react隨筆之hooks(二)

useContext 全新的 Context API 可以很容易穿透組件而無副作用,其包含三部分:React.createContext,Provider,Consumer。 React.createContext 是一個函數,它接收初始

原创 react-router-config 使用

react-router-config Static route config helpersgithub: react-router-config 使用 需要注意的是,在page2中, renderRoutes(routes)的rout

原创 JavaScript Array對象常用方法

Array對象常用方法 不改變原數組: concat() join() slice() toString() 改變原數組: pop() push() reverse() shift() unshift() sort() splice(

原创 VUE 動態require圖片

require 在vue裏,require路徑上無法使用變量(會因找不到上下文環境和查找失敗),可通過require.context()解決。 變量在路徑上,require找不到上下文環境:require("../assets/image/

原创 WeakMap WeakSet

WeakMap WeakSet 特性: WeakMap對key的引用和WeakSet的成員 是弱引用 WeakMap對key的引用和WeakSet的成員 只能是對象 無法遍歷 優點: 不易造成內存泄漏 弱引用 引用了對象,但是不影響它的

原创 MongoDB linux下安裝

Centos 7 創建.repo文件,生成mongodb的源 vi /etc/yum.repos.d/mongodb-org-4.0.repo 添加配置信息 [mongodb-org-4.0] name=MongoDB Repository

原创 雜記(一)

介紹 記錄一些自己寫代碼過程中遇到的問題,google來的一些技巧和方法。 Iconfont的symbol引入 Iconfont的symbol引入,最好鏈接前加https:頭,防止受到package.json裏homepage的影響(如果

原创 JavaScript事件循環(Event Loop)

任務隊列 首先我們要知道關於JavaScript的一些規則: JavaScript是被設計成單線程的 JavaScript的任務分爲同步任務和異步任務 同步任務都在主線程上執行,形成一個執行棧。當主線程執行完之後,運行微任務(micr

原创 Redux隨筆

Redux簡介 Redux是一個庫,是JavaScript狀態容器,提供可預測化的狀態管理,他解決的組件間數據共享的問題。當然,在React中,要達到組件間數據共享的目的不一定非要用Redux,React提供了context api,在小型

原创 react隨筆之hooks(一)

Hooks使用條件 目前用create-react-app腳手架創建的項目,react和react-dom版本爲^16.7.0,該版本還未支持hooks的使用,未升級使用會報錯誤:TypeError: Object(...) is not