原创 詳解JS構造函數方法與原型prototype上的方法

構造函數內的方法與構造函數prototype屬性上方法的對比 本文的目的是讓大家理解什麼情況下把函數的方法寫在JavaScript的構造函數上,什麼時候把方法寫在函數的prototype屬性上;以及這樣做的好處. 爲了閱讀方便,我們

原创 前端如何實現圖片懶加載(lazyload) 提高用戶體驗

定義 圖片懶加載又稱圖片延時加載、惰性加載,即在用戶需要使用圖片的時候加載,這樣可以減少請求,節省帶寬,提高頁面加載速度,相對的,也能減少服務器壓力。  惰性加載是程序人性化的一種體現,提高用戶體驗,防止一次性加載大量數據,而是根據用

原创 h5 鍵盤遮住輸入框

var index = 0; if (isIOS()) { document.body.addEventListener('focusin', (e) => { //軟鍵盤彈出的事件處理 inde

原创 mysql配置utf8編碼

找到mysql目錄 打開my.ini配置文件 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SE

原创 探索兩種優雅的表單驗證——策略設計模式和ES6的Proxy代理模式

正文從這開始~ 在一個Web項目中,註冊,登錄,修改用戶信息,下訂單等功能的實現都離不開提交表單。這篇文章就闡述瞭如何編寫相對看着舒服的表單驗證代碼。 假設我們正在編寫一個註冊的頁面,在點擊註冊按鈕之前,有如下幾條校驗邏輯。  所有選項

原创 css製作箭頭提示框效果

一直都在看站友們的作品,今天也來給大家分享一個小的效果,第一次發還有點小緊張呢,語言表達能力不是很好,還請見諒…^ 先來個簡單點的吧,上效果圖 剛開始在網上看到效果圖的時候感覺好神奇,當我試着寫出來的時候發現,哇!原來這麼簡單,我這腦袋瓜

原创 npm使用

nrm安裝 npm install -g nrm 添加registry地址 nrm add sinopia http://192.168.30.135:4873 nrm add taobao https://registry.npm

原创 前端性能與異常上報

概述 對於後臺開發來說,記錄日誌是一種非常常見的開發習慣,通常我們會使用 try...catch代碼塊來主動捕獲錯誤、對於每次接口調用,也會記錄下每次接口調用的時間消耗,以便我們監控服務器接口性能,進行問題排查。 剛進公司時,在進行 No

原创 Promise實現原理(附源碼)

本篇文章主要在於探究 Promise 的實現原理,帶領大家一步一步實現一個 Promise , 不對其用法做說明,如果讀者還對Promise的用法不瞭解,可以查看阮一峯老師的ES6 Promise教程。   接下來,帶你一步一步實現一個

原创 video 標籤沉浸式播放解決方案

“沉浸播放式”這個概念是我從Android開發裏面的沉浸式引申過來的一個概念,沉浸式其實就是隱藏頁面頂部的status bar和底部的navigation bar之後呈現出來的頁面,一般用戶很容易把沉浸式狀態欄和透明化狀態欄混爲一談,他們

原创 H5頁面在微信端的分享

微信分享,咋一看好像很複雜,實則非常簡單。只需要調用微信官方出的微信jssdk,加上些許配置,就可以實現h5頁面在微信上的分享,官方文檔地址爲:https://mp.weixin.qq.com/wiki?t=resource/res_ma