原创 flex佈局實現最後一行左對齊

 最終效果如下: 源代碼使用vue開發: 其中 keyboard_word_wrap樣式如下: display: flex; justify-content: flex-start; flex-wrap: wrap; max-widt

原创 script標籤中的crossorigin屬性詳解

在前端監控逐漸完善的今天,頁面中錯誤日誌的上報可以說對我們的日常工作帶來了極大的幫助。 而使用window.onerror事件來捕獲 js腳本中的錯誤信息是 重要的手段 。 但是對於跨域的資源 ,onerror事件通常會上報 "Scrip

原创 vuecli3打包資源在html中的引用路徑問題

在默認情況下,通過vuecli打包出來的路徑是絕對路徑。 如果想修改vuecli的默認配置,通過在vue.config.js中進行配置,關於打包路徑是通過publicPath屬性進行配置。 如果想使用相對資源地址   則將publicP

原创 chrome開發工具各種調試的辦法

一:代碼格式化 有很多css/js的代碼都會被 minify 掉,你可以點擊代碼窗口左下角的那個 { }  標籤,chrome會幫你給格式化掉。 二:強制DOM狀態 有些HTML的DOM是有狀態的,比如<a> 標籤,其會有 active

原创 關於h5喚起App的方式

喚起 App 應該是很常見的問題了。我們在開發 H5 的時候,有一些鏈路上的功能在 H5 不支持,只能去 App 才能完成。比如,下單、支付等功能。那麼在更多的場景能夠喚起 App 就顯得很重要了。 判斷瀏覽器,動態加載對應瀏覽器的

原创 如何實現一個JSON.stringify() ,手寫JSON.stringify

JSON.stringify() 方法將一個 JavaScript 值(對象或者數組)轉換爲一個 JSON 字符串,如果指定了 replacer 是一個函數,則可以選擇性地替換值,或者如果指定了 replacer 是一個數組,則可選擇性

原创 vue啓動報錯Module build failed: Error: ENOENT: no such file or directory

vue啓動項目報錯,一大坨  如下 Module build failed: Error: ENOENT: no such file or directory, scandir '/Users/songmengda/Desktop/aa

原创 前端網頁字體科普

字體分類 常見的字體可以分爲兩類:襯線體、無襯線體。 1、serif(襯線體):在字的筆畫開始、結束的地方有額外的裝飾,而且筆畫的粗細會有所不同。 常見的襯線體有: •宋體、楷體 •Times New Roman 2、sans-seri

原创 Markdown編輯工具Typora教程

1. 基本操作 1.1 內容目錄 語法 [toc] 1.2 標題 語法 # 一級標題 ## 二級標題 ### 三級標題 #### 四級標題 ##### 五級標題

原创 如何實現一個call或 apply方法,手寫一個call或apply

call語法: fun.call(thisArg,arg1,arg2,...),調用一個函數, 其具有一個指定的this值和分別地提供的參數(參數的列表)。 apply語法: func.apply(thisArg,[argsArra

原创 如何實現一個JSON.parse ,手寫一個JSON.parse

JSON.parse() 方法用來解析JSON字符串,構造由字符串描述的JavaScript值或對象。提供可選的reviver函數用以在返回之前對所得到的對象執行變換(操作)。 語法 JSON.parse(text[, reviver

原创 如何實現一個bind方法,手寫一個bind

bind()方法: 會創建一個新函數。當這個新函數被調用時,bind() 的第一個參數將作爲它運行時的 this,之後的一序列參數將會在傳遞的實參前傳入作爲它的參數。(來自於 MDN )    此外, bind實現需要考慮實例化後對原

原创 git庫遷移出現fatal: refusing to merge unrelated histories

  背景: 我們原來的代碼庫是這樣的,[email protected]:a.work.git(簡稱a倉庫) 代碼總庫work下分爲兩個文件夾,develop作爲開發和測試庫,release作爲生產庫。各自文件夾內區分不同項目,比如有三個項目分

原创 js計算浮點數,js計算小數誤差解決方案,js計算丟失精度,decimal.js的使用

衆所周知,計算機在計算浮點數的過程中會丟失精度。這在編程語言中都會出現,js也不例外。 0.1+0.2並不等於0.3 這就導致了在某些情況下,如果單純的採用四捨五入toFixed 會出現我們不想要的結果。尤其在計算金額方面,一分都不能出

原创 如何實現一個new,手寫一個new操作符

要想手寫一個new  需要先知道new這個關鍵字做了哪些事情 它創建了一個全新的對象。 它會被執行 [[Prototype]](也就是 __proto__)鏈接。 它使 this指向新創建的對象。 通過 new創建的每個