原创 CSS居中及佈局

CSS中的居中可分爲水平居中和垂直居中。水平居中分爲行內元素居中和塊狀元素居中兩種情況,而塊狀元素又分爲定寬塊狀元素居中和不定寬塊狀元素居中。下面詳細介紹這幾種情況。 水平居中 使用inline-block和text-aligh實

原创 前端算法面試題彙總

數組去重 function unique(arr) { const seen=new Map(); return arr.filter((a) => !seen.has(a)&& seen.set(a,1)); }

原创 前端模塊化AMD、CMD、CommonJS

知識點1:AMD/CMD/CommonJs是JS模塊化開發的標準,目前對應的實現是RequireJs/SeaJs/nodeJs. 知識點2:CommonJs主要針對服務端,AMD/CMD主要針對瀏覽器端,所以最容易混淆的是AMD/

原创 Javascript設計模式與開發實踐(關於this/call/apply)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>throttle</title> </head> <body> <

原创 MVVM實現原理(數據變更的實現)

手動觸發綁定 手動觸發指令綁定是比較直接的實現方式,主要思路是通過在數據對象上定義get()方法和set()方法,調用時手動觸發get()或set()函數來獲取、修改數據,改變數據後會主動觸發get()和set()函數中View層

原创 Vue中的nextTick原理解析

nextTick的使用場景 nextTick是全局vue的一個函數,在vue系統中,用於處理dom更新的操作。vue裏面有一個watcher,用於觀察數據的變化,然後更新dom,vue裏面並不是每次數據改變都會觸發更新dom,而是

原创 瀏覽器應用基礎

從打開瀏覽器輸入一個網址到頁面展示網頁內容的這段時間,瀏覽器和服務器都發生了什麼? 1、在接收到用戶輸入網址後,瀏覽器會開啓一個線程來處理這個請求,對用戶輸入的URL地址進行分析判斷,如果是HTTP協議就按照HTTP方式來處理。

原创 vue-router的使用及實現原理

前端路由是直接找到與地址匹配的一個組件或對象並將其渲染出來。改變瀏覽器地址而不向服務器發出請求有兩種方式: 1. 在地址中加入#以欺騙瀏覽器,地址的改變是由於正在進行頁內導航 2. 使用H5的window.history功能,

原创 拼多多筆試總結

走過了拼多多的面試,又重新走向了筆試。順便記錄一下有意思的題目。 題目是這樣的:設計一個函數mul,要你實現以下功能console.log(mul(1)(2)(3))//6 ; console.log(mul(2)(3)(

原创 vue的生命週期

beforecreated:el 和 data 並未初始化 created:完成了 data 數據的初始化,el沒有 beforeMount:完成了 el 和 data 初始化 mounted :完成

原创 SEO網站性能優化

什麼是搜索引擎 搜索引擎是一個幫助用戶搜索他們需要內容的計算機程序,搜索引擎把計算機中的信息與用戶的信息需求匹配,並把匹配的結果顯示出來。 搜索引擎工作原理 百度蜘蛛,爬行網頁鏈接,搜索引擎數據庫。若頁面由JS或者flash生

原创 自動切換輸入的焦點

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>throttle</title> <style> </s

原创 模式匹配算法以及KMP的javascript實現

暴力解決: 對主串的每一個字符作爲子串開頭,與要匹配的字符串進行匹配。對主串作大循環,每個字符開頭做T的長度的小循環,直到匹配成功或全部遍歷完爲止。 function Index(S,T) { var i=0;

原创 等高佈局

padding補償法 首先把列的padding-bottom設爲一個足夠大的值,再把列的margin-bottom設一個與前面的padding-bottom的正值相抵消的負值,父容器設置超出隱藏,這樣子父容器的高度就還是它裏面的

原创 HTML5 與 CSS3 新特性

H5的新特性: ① 語義特性 HTML5賦予網頁更好的意義和結構。 HTML5 提供了定義頁面不同部分的新語義元素: <article><aside><details><figcaption><figure><footer><h