原创 離線存儲manifest的基礎用法

源碼地址 使用離線存儲的優點: 可以在離線狀態下訪問頁面。 緩存的資源加載更快。 減少服務器加載 - 瀏覽器只從服務器上下載已更新/已更改的資源。 構成: CACHE:羅列了所有離線使用所需的文件。 NETWORK:羅列了不

原创 JS獲取瀏覽器localStorage存儲上限

基本思路:不斷的給字符串增加字符,調用 localStorage.setItem 進行存儲,直至其無法存儲爲止(exceeded the quota:超出限額)。 注意事項: 給定的字符串不能過小,否則 js 代碼執行非常慢,也

原创 npm WARN checkPermissions Missing write access...

當我們使用 npm uninstall 或 cnpm uninstall 時經常會出現這樣的錯誤。事實上這個並不是由於權限問題導致的。 在安裝模塊時我們經常使用 --save 或 --save-dev。 安裝: cnpm inst

原创 css精粹

基礎彙總 (1)例: a:link:hover {background-color:red} // 未訪問鏈接鼠標懸停背景色爲red a:visited:hover {background-color:blue}

原创 a 鏈接設置順序及原理

設置順序 a:link a:visited a:hover a:active 或 a:visited a:link a:hover a:active 其中 hover 和 active 的順序必須設置 link 和 vi

原创 JavaScript算法題

1. 給定一串數據將其轉化爲樹形結構 // 數據: let arr = [ { id: 1, name: 'js', parent:'前端'

原创 JavaScript類型比較和轉化規則

Number的轉化規則: 1.原始類型值 Number(123) // 123 Number('123') // 123 Number('123abc') // NaN Number('') // 0 Number(true) //

原创 Vue項目啓動時自動獲取本機IP地址

前言 在啓動vue項目時,我們發現需要自己配置啓動的ip地址,這樣在多人開發便顯得很不方便。 解決方案: 使用vue-cli構建項目:(其他配置類似) vue init webpack myproject 1.在當前的build目錄

原创 Vue中的UI組件發佈至npm流程

本文提供的方式是將組件直接引入,不需要使用Vue.use(),即沒有給組件添加install方法。 步驟一 註冊npm賬號,用於發佈組件。 // 註冊後 npm adduser // 添加用戶(填寫註冊的用戶名,密碼,郵箱) npm

原创 Vue中父子組件的生命週期函數的執行時機

問題背景: 在子組件中mounted時經常發現無法獲取到父組件傳入的props屬性值。 生命週期函數執行順序: 父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate ->

原创 實現移動端的 css stickyfooter

描述:在移動端經常有這樣的效果,當頁面內容高度不足視口高度時footer固定在底部,而頁面內容高度高於視口高度時,footer隨內容向下移動。 方法一: 使用 calc 實現(不推薦) // html <body> <div cl

原创 scoped的深入理解

scoped 屬性 作用:保證css樣式只作用於當前組件,不會影響其他任何地方的樣式。 本質:設置 scoped 後,當前組件中的所有元素都會被添加一個 data-v- 的屬性,所有設置的css樣式都會添加該屬性選擇器。 如: //

原创 使用padding-bottom和margin-bottom實現兩欄等高佈局原理

聲明:以下均爲個人見解,若有錯誤請指出。 效果預覽: <!DOCTYPE html> <html> <head> <title>demo</title> <style type="text/css"> *

原创 JS中數組方法的底層實現

源碼地址: https://github.com/v8/v8/blob/ad82a40509c5b5b4680d4299c8f08d6c6d31af3c/src/js/array.js 數組變異方法(即改變原數組):shift、uns

原创 小程序實現左滑刪除功能

小程序中實現左滑刪除 效果預覽: // wxml <view class="delete_list"> <view class="list" wx:for="{{listData}}" wx:key="{{index}}}" b