原创 ES6算法---選擇排序 Selection Sort

原理:每一次內循環遍歷尋找最小數的下標min,並在這次內循環結束後交換 min 和 j 的位置。 時間複雜度 最優時間複雜度:O(n2) 最壞時間複雜度:O(n2) 穩定性:不穩定 function selection_sor

原创 antd3和4的form對比

近期準備升級antd4.0開發,發現form組件改動非常大,於是抽空看了改動點,於是有了這篇文章: 首先回顧一下antd3的用法 import React from "react"; import { Form, Input, B

原创 chrome 插件開發入門實例

以前記錄一些簡單的信息時使用記事本比較多,雖然非常方便但是記事本不能自動保存,重啓或者死機後信息容易丟失,平時使用chrome比較多,所以就研究了一下chrome插件開發,並開發一款簡單,方便的便籤插件,截圖如下: 這款插件的代

原创 《Linux/Unix設計思想》隨筆

“佈道者”指的是那些堅定地信仰某一宗教,並且不遺餘力地向人們傳播此宗教的修道者。 Unix 哲學的幾條準則看似簡單。事實上,它們簡單到會容易使人們忽略其重要性。這就是它們頗具欺騙性的地方。其實,簡單的外表下掩蓋着一個事實:如果人們

原创 babel 如何轉義extends

接着上一篇文章,我們繼續進行extends的解析。 開始之前,我們先要回顧一下ES5的繼承,以前實現繼承也不是一件容易的事情,常用的方法有構造函數繼承,原型繼承,組合繼承,寄生式繼承和寄生組合式繼承等,構造函數繼承中每個子類的屬性

原创 ES6算法---冒泡排序 Bubble Sort

原理:依次比較、交換相鄰的元素大小 時間複雜度 最優時間複雜度:O(n^2) 最壞時間複雜度:O(n) 穩定性:穩定 實現方式1 function buddle_sort(arr) { let len = arr.leng

原创 antd 中 Tooltip 和 Popover 組件傳圖錯位

antd 中 Tooltip 和 Popover 組件傳圖錯位 最近遇到一個需求,當鼠標 hover 一個 icon 的時候展示一張圖片,因爲項目時基於 antd 進行開發的立馬想到了 Popover 組件,寫下了如下代碼: <P

原创 小程序和 react 組件間通信

​組件化開發是目前前端開發中十分重要的一項技能,無論是 Vue, react 還是小程序對於組件化開發都有很好的支持,要想掌握好組件化開發,組件之間的通信是無法繞過的話題,最近技術棧從 Vue 轉向了 react + 小程序,便總結了

原创 雷軍自述:我十年的程序員生涯

最近,和UCWEB同事討論,怎麼才能把我們的UCWEB做到極致。我說,“手機上的平臺非常多,如果想做好,需要足夠多、足夠優秀的程序員。 優秀的程序員如何定義呢?首先必須熱愛寫程序,其次必須是一個完美主義者。 只有這樣的人,才能把事情做

原创 編程15年,如何才能成不了高手?

導讀: 總是會有人問我這樣一個問題,如何學習編程?我從來沒有正面回答過這個問題。我都是會推薦他們去知乎或者百度貼吧去問一下,因爲那裏大牛的密度比較高。我不是大牛,所以,不好回答這個問題。 但是總有人不死心啊,總是問個不停,覺得我孬好做

原创 快速入門 chrome 插件開發

以前記錄一些簡單的信息時使用記事本比較多,雖然非常方便但是記事本不能自動保存,重啓或者死機後信息容易丟失,平時使用chrome比較多,所以就研究了一下chrome插件開發,並開發一款簡單,方便的便籤插件,截圖如下: 這款插件的代碼非

原创 爲什麼不推薦使用 setInterval

解釋原因之前需要先簡單介紹一下 js 的執行原理:js引擎是單線程的,主要分爲主線程和事件隊列,同步操作是在主線程上執行,而異步操作的函數會先放在事件隊列當中,等到js主線程空閒了,纔會去事件隊列取出放到主線程執行。定時器是屬於異步事

原创 for of 實現原理

for of 是我們經常使用的一個屬性,它可以非常方便的遍歷數組,除此之外,它還可以用來遍歷類數組對象,Set 和 Map 等,那麼問題就來了,爲什麼它可以遍歷 Map 卻不能遍歷普通的對象呢?今天就來探索一下 for of 底層的祕

原创 babel 是如何編譯 class 的?

經常使用ES6中的class,但卻一直不知道 babel 是如何編譯的,所以就抽空研究了一下,下面是相關的代碼,關鍵地方都已經添加了註釋。 1. 編譯類 ES5 定義類 function Person(name) { this.n

原创 JavaScript中異步函數

JavaScript 中常見的異步函數有:定時器,事件和ajax等,那麼如何來處理這些異步函數呢,常用的方法有下面幾種: 1. 回調函數 function eat() { console.log('好的,我開動咯'); } fu