原创 js引擎的工作原理,js是怎樣處理事件的eventloop,宏任務源tasks和微任務源jobs分別有哪些?js是如何構造抽象語法書(AST)的?

js引擎只執行同步任務, 異步任務會有工作線程來執行,當需要進行異步操作(定時器、ajax請求、dom事件註冊等), 主線程會發一個異步任務的請求, 相應的工作線程接受請求; 當工作線程完成工作之後, 通知主線程;主線程接收到通知

原创 前端分析性能監控(2019-9)

window.performance分析web前端性能業界案例影響代碼監控數據的因素有以下幾種:代碼監控和工具監控的對比如下表:前端性能監控指標1.常規統計方案1.1 白屏時間1.2 首屏時間1.3 可操作時間1.4 總下載時間使

原创 es6、7、8、9新語法新特性

1、let和const命令 let命令,用來聲明變量。它的用法類似於var,但是所聲明的變量,只在let命令所在的代碼塊內有效。 { let a = 10; var b = 1; } a // R

原创 React/Vue axios 二次封裝

直接看代碼註釋 import { message } from "antd"; import axios from "axios"; import qs from "qs"; let base = "https://www.ba

原创 網頁是如何渲染出來的,dom樹和css樹是如何合併的,瀏覽器的運行機制是什麼,什麼是否會造成渲染阻塞?

渲染樹構建、佈局及繪製 瀏覽器的內核是指支持瀏覽器運行的最核心的程序,分爲兩個部分的,一是渲染引擎,另一個是JS引擎。渲染引擎在不同的瀏覽器中也不是都相同的。目前市面上常見的瀏覽器內核可以分爲這四種:Trident(IE)、Gec

原创 LocalStorage 擴容

瀏覽器提供的localStorage本地存儲的最大空間是5M,如果不夠用呢,這時候就需要考慮來給localStorage擴容。 思路如下: 在【A域】下引入【B域】,【A域】空間足夠時,讀寫由【A域】來完成,數據存在【A域】下;

原创 跨域問題出現原因和解決方案(JavaScript、Jquery、Vue、React)

跨域是指a頁面想獲取b頁面資源,如果a、b頁面的協議、域名、端口、子域名不同,或是a頁面爲ip地址,b頁面爲域名地址,所進行的訪問行動都是跨域的,而瀏覽器爲了安全問題一般都限制了跨域訪問,也就是不允許跨域請求資源。 目錄【策略一

原创 一稿設計多端適配優雅的解決方案 - rem

規範目的 爲提高前端團隊開發效率,輸出高質量的前端頁面代碼,提高UI設計還原度,特編寫該規範文檔。本文檔如有不對或者不合適的地方請及時提出。 js代碼 (function (doc, win) { var docEl =

原创 post get 請求下的 標籤 Window.open 瀏覽器攔截 解決方案

關於 post get 請求下的 a 標籤 Window.open 瀏覽器攔截 彈框的問題 爲什麼寫這個。原因 今天小前端問的時候 ajax 下請求 下 模擬標籤和window 彈框被攔截 無法彈框 使用 window.

原创 音視頻播放 Video Audio

音視頻播放(Video,Audio)和常見的坑處理 前言背景 在HTML5出現之前,Web頁面訪問音視頻主要是通過Flash,Activex插件,還有微軟後來推出的silverlight來展現的,儘管FLASH曾經風靡全球,但

原创 前端加載_ 骨架屏(load 看多了 嫌棄)

前端骨架屏方案小結 骨架屏 最近在項目不時有用到骨架屏的需求,所以抽時間對骨架屏的方案作了一下調研,骨架屏的實踐已經有很多了,也有很多人對自己的方案作了介紹.在這裏按照個人的理解做了一個彙總和分類,分享給大家. 關於骨架屏

原创 前端性能優化篇(簡稱常識)懶 QAQ

1. 壓縮 HTML: medium HTML代碼壓縮,將註釋、空格和新行從生產文件中刪除。 刪除所有不必要的空格、註釋和中斷行將減少HTML的大小,加快網站的頁面加載時間,並顯着減輕用戶的下載時間。 大多數框架都有插件來促進

原创 jquery/js 同時調用多個倒計時 (商城秒殺/搶購...等)

var plugJs={ stamp:0, tid:1, stampnow:Date.parse(new Date())/1000,//統一開始時間戳 intervalTime:function()