原创 JavaScript的原型和原型鏈必備理解

原型原型鏈 重要知識點 所有對象都是通過new 函數創建 所有的函數也是對象 new Function() 函數中可以有屬性 Array.from 所有對象都是引用類型 定義: 原型是function對象的一個屬性,它定義了

原创 React生命週期與常見使用場景

前言 對於react的生命週期一直是在工作中很重要的,我們往往需要在需要的時間段做自己需要的事情,在 React 中,生命週期大致上可以分爲初始化(Initialization)、掛載(Mounting)、更新(Updating

原创 前端安全CSRF和XSS

1. CSRF 通常稱爲跨站請求僞造,英文名Cross-site request forgery縮寫CSRF 1.1 攻擊原理 實現攻擊的兩大關鍵因素: 網站中的某個接口存在這種漏洞 用戶確實在A註冊網站

原创 閉包以及閉包的應用詳解

閉包 來自紅寶書的定義: 閉包是指有權訪問另一個函數作用域中的變量的函數。創建閉包的常見方式,就是在一個函數內部創建另一個函數 1. 理解閉包,首先的瞭解JavaScript的作用域的特點 javascript語言的特別之處就

原创 vue-router工作中常用基礎

vue-router官方文檔 router的使用 <div id="app"> <h1>Hello App!</h1> <p> <!-- 使用 router-link 組件來導航. --> <!-- 通過傳

原创 vue常用特性

1. 表單操作 表單域修飾符 number:轉化爲數值 trim:去掉開始和結尾的空格 lazy:將input事件切換爲change事件,可以設置input失去焦點的時候觸發 <input type="text" v-mod

原创 前端工程化時代

1. 前言 在ES6模塊化規範誕生之前,Javascript社區已經嘗試並提出了AMD、CMD、CommonJS 等模塊化規範。 但是,這些社區提出的模塊化標準,還是存在一定的差異性與侷限性、並不是瀏覽器與服務器通用的模塊化標準,

原创 關於React Hooks使用

目錄1 爲什麼使用 React Hooks2 詳解 useState3 useEffect的使用3.1useEffect代替常用的生命週期函數3.2 實現類似componentWillUnmount(組件將要被卸載時執行)4 us

原创 LeetCode-無重複字符的最長子串(js+set數據結構)

題目 給定一個字符串,請你找出其中不含有重複字符的 最長子串 的長度。 實例 輸入: “abcabcbb” 輸出: 3 解釋: 因爲無重複字符的最長子串是 “abc”,所以其長度爲 3。 輸入: “bbbbb” 輸出: 1 解釋

原创 TypeScript常用數據類型

前言 之前對TypeScript一直處於觀望的角度,總是覺得自己工作的時候要用到再學吧,但是這幾天經歷確實給我上了一課,都0202年了,前端還不會TypeScript?受傷的是自己,於是,開幹吧! 什麼是TypeScript T

原创 LeetCode-兩數之和(js+Map數據結構)

題目 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。 實例: 給定 nums = [2, 7, 11, 15], target = 9 因爲 nums

原创 leetcode-斐波拉契數列(js)

認識斐波拉契數列 第n 個數由數列的前兩個相加而來: f(n) = f(n - 1) + f(n -2),用代碼實現斐波拉契數列,無非就是要考察遞歸的寫法,但是,單純使用遞歸,在嚴格要求時間複雜度和空間複雜度上是不可行的,因爲他做

原创 事件冒泡與事件捕獲及事件委託

1.事件冒泡 事件冒泡:結構上(非視覺上)嵌套關係的元素,會存在事件冒泡的功能,即同一事件,自子元素冒泡向父元素。 關於事件的捕獲與事件的冒泡過程圖: 兩者的順序是先捕獲後冒泡 事件冒泡就是在點擊父盒子裏面的元素的時候先先觸發了

原创 vuex從入門到實戰多功能TodoList

1.vuex的核心蓋概念 Vuex 是一個專爲 Vue.js 應用程序開發的狀態管理模式。它採用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。他可以方便實現組件之間的數據共享 1.1 st

原创 手寫實現一個簡單版本的promise

手寫一個promise實際上是非常複雜的,一個簡潔版本的可以讓我們明確設計思路 // 三個常量用於表示狀態 const PENDING = 'pending' const RESOLVED = 'resolved' const R