原创 JS事件循環與宏任務-微任務

其實關於JS的事件循環,自己之前是有部分了解的,但是這個瞭解還不夠詳細和深刻。今天看到一個有趣的JS題目,由此引發了自己對於這一塊知識的深入學習和梳理。 題目如下: setTimeout(function(){ consol

原创 劍指offer--圓圈中最後剩下的數

每年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。HF作爲牛客的資深元老,自然也準備了一些小遊戲。其中,有個遊戲是這樣的:首先,讓小朋友們圍成一個大圈。然後,他隨機指定一個數m,讓編號爲0的小朋友開始報數。每

原创 CSS3巧妙實現空心三角箭頭

前幾天在瀏覽一個網站時,看到了一個常見的會話框右邊顯示箭頭界面。當時自己就想了想,如果自己來實現,應該就是我以前寫的文章中的使用before和after僞元素創建兩個三角形來相互重疊覆蓋實現。抱着試試看的心態,看了下網站的實現,結果

原创 數組扁平化處理

今天看到一篇文章,其中講解了數組扁平化處理的多種方法,個人覺得還是有點意思,現詳細講解幾種實現的方法。 使用forEach function flatten1(arr){ let res = []; arr.for

原创 npm i報錯Unexpected token

描述:npm i報錯Unexpected token < in JSON at position 0 while parsing near ’ <fr…’ npm ERR! Unexpected token < in JSON a

原创 JS中的模塊化

今天看YDKJS時,明白了一個以前一直疑惑的東西,那就是JS中的模塊開發,之前也使用過require.s進行模塊化的開發,但是一直不能明白其中具體的原理,看了YDKJS的講解後,真的是豁然開朗,在此記錄其中一個實例的代碼,並進行解析。

原创 babel es6轉es5

首先需要安裝依賴環境 npm i --save-dev babel-cli babel-preset 安裝es5轉換 npm i --save-dev babel-preset-es2015 安裝polyfill np

原创 劍指offer--變態跳臺階

題目如下: 一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 解題思路: 其實有兩種解題思路,個人更傾向於第二種方法,應爲個人覺得它更符合計算機解決問題的思路。 在這道

原创 劍指offer--旋轉數組的最小值

題目如下 把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個非減排序的數組的一個旋轉,輸出旋轉數組的最小元素。 例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。 NOT

原创 PHP--ajax請求中文亂碼之json_encode中文亂碼

今天在調用一個接口時,發現我傳遞給後臺的數據中的中文莫名其妙的亂碼了。。。一開始想着是不是我前臺的調用方法不對,導致中文在傳遞的過程中出現了亂碼。但是我發現接口中另一個字段使用中文就沒有問題,無奈之下,本人只能打開phpstorm來

原创 babel的簡單使用

1、創建demo目錄,在目錄下創建package.json文件 文件內容如下 { "devDependencies": { "babel-cli": "^6.0.0" } } 2、在項目本地安裝babel npm in

原创 js創建二維數組小坑

今天在創建一個二維數組時,遇到一個小坑,最後發現是對forEach函數的理解不夠深刻導致的bug,特此記錄說明。 需求如下:創建一個10 x 10的二維數組 最常規的想法是,進行遍歷循環 let item = new Array(

原创 劍指offer-矩陣中的路徑

題目描述: 請設計一個函數,用來判斷在一個矩陣中是否存在一條包含某字符串所有字符的路徑。路徑可以從矩陣中的任意一個格子開始,每一步可以在矩陣中向左,向右,向上,向下移動一個格子。如果一條路徑經過了矩陣中的某一個格子,則之後不能再次進

原创 劍指offer-和爲S的兩個數

題目如下: 輸入一個遞增排序的數組和一個數字S,在數組中查找兩個數,使得他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。 輸出描述: 對應每個測試案例,輸出兩個數,小的先輸出 解題思路: 遍歷數組中的每一項,

原创 JS腳本按順序依次加載執行

今天同事遇到一個需求,就是需要動態加載的腳本按順序依次加載執行。嘗試了使用document.write(DOMContentLoaded之後不能使用該方法,且該方法不推薦使用),使用defer=“async”(部分瀏覽器比較古老,不支