原创 Promise: 給我一個承諾,我還你一個承諾

爲何產生promise? 在 Promise 出現以前,我們處理一個異步網絡請求,需求大概是這樣:我們需要根據第一個網絡請求的結果,再去執行第二個網絡請求,再根據第二個網絡請求的結果去執行第三個請求~,需求是永無止境的,於是乎出現瞭如下代

原创 Vue動態組件 & keep-alive

前言 在 vue 中,實現 Tab 切換主要有三種方式:使用動態組件,使用 vue-router 路由,使用第三方插件。本文將詳細介紹Vue動態組件。所謂動態組件就是讓多個組件使用同一個掛載點,並動態切換。 一、is用法 通過使用保留的 

原创 箭頭函數與普通函數的區別?

前言 箭頭函數是前端面試環節的一個高頻考點,箭頭函數是ES6的API,相信很多人都知道,因爲它的語法比一般的函數更簡潔,所以深受大家的喜愛。這是我們在日常開發中一直使用的API,但大多數同學對它的理解還不夠,下面我們來詳細瞭解下箭頭函數的

原创 爲什麼普通 for 循環的性能遠遠高於 forEach 的性能?

作爲一名前端開發,for和foreach循環遍歷幾乎每天都在使用,那麼這兩種遍歷方式哪一種效率更高呢? 效率高的原因是什麼呢?  一、for( )循環 通過下標,對循環中的代碼反覆執行,功能強大,可以通過index取得元素。在處理比較複雜

原创 你知道JavaScript中的Symbol類型怎麼用嗎?

前言 ES5 的對象屬性名都是字符串,這容易造成屬性名衝突的問題。比如,你使用別人的模塊/對象, 又想爲之添加新的屬性,這就容易使得新屬性名與原有屬性名衝突。這就是 ES6 引入Symbol的原因,symbol能夠保證每個屬性的名字獨一無

原创 JavaScript 二進制數組(ArrayBuffer、Typed Array、DataView)

前言 二進制數組是JavaScript用來操作二進制數據的一個接口。有ArrayBuffer對象、TypedArray視圖和DataView視圖三個對象接口。它們可以以數組下標的形式直接操作內存,可以與操作系統的原生接口進行二進制通信。

原创 Array() 和 Array.of() 的區別

Array() 在JavaScript中,數組構造函數是new Array() 或 Array() let arr = Array(1, 2, 3, 4) console.log(arr) // 1, 2, 3, 4 console.

原创 JavaScript類型判斷的四種方法

JavaScript數據類型 JavaScript有八種內置類型,除對象外,其他統稱爲“基本類型”。 空值(null) 未定義(undefined) 布爾值(boolean) 數字(number) 字符串(string)

原创 JavaScript對象類別劃分(原生對象、內置對象、宿主對象)

原生對象(native object) 原生對象也可以叫做本地對象或者內部對象。ECMA-262 把原生對象(native object)定義爲 " 獨立於宿主環境的 ECMAScript 實現提供的對象 "。所以每一種宿主環境都可以使用

原创 瞭解JavaScript的運行核心——事件循環(Event Loop)

前言 什麼要學底層的事件循環Event Loop,不僅僅是因爲這是一道面試的常考題。作爲一個程序員,瞭解程序的運行機制是很重要的,這樣可以幫助你去輸出更優質的代碼。前端是一個範圍很廣的領域,技術一直在更新迭代,掌握了底層的原理可以應對新的

原创 刷算法題遇到的新數據類型 — BigInt

今天在LeetCode做的一道關於 “加一”  的算法題,題目如下 給定一個由整數組成的非空數組所表示的非負整數,在該數的基礎上加一。 最高位數字存放在數組的首位, 數組中每個元素只存儲一個數字。 你可以假設除了整數 0 之外,這個整數

原创 準備刷算法題了,才發現自己連時間複雜度和空間複雜度都忘了

前言 最近打算好好刷刷算法題,然鵝發現自己對這個算法複雜度的知識記憶已全部返還給數據結構老師了 一、算法 算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表着用系統的方法描述解決問題的策略機制。

原创 推薦幾款捨不得卸載的良心app

前言 工欲善其事,必先利其器!手機作爲我們日常生活中必不可少的一部分,它我們完全能夠利用一些APP真正改變我們我們的生活方式、工作方式,或者充分利用這些零碎的時間來做一些意義的事情。所以本人親身試驗,最後吐血安利這些給大家。 一、一個木函

原创 基於vue-cli3搭建一個後臺管理系統框架

一、安裝 【1.1】安裝Node 3.x需要node.js版本爲8.9版或者更高的版本,點擊這裏可以安裝node 安裝過node後,輸入下面命令行查詢你的node版本: node -v 如果當前版本不夠,可以輸入下面命令行來把node版

原创 加密算法先鋒 —— MD5算法

前言 在開發過程中,避免不了要涉及到數據加密,比如用戶賬號密碼的加密,用戶敏感數據的加密,涉及到的加密算法種類繁多,能夠清楚瞭解其中主流的加密算法和用途,就已經足夠了。主要的數據加密算法主要有:md5、sha、aes、des、rsa、ba