原创 函數式編程(1):高階函數

高階函數的定義:一個高階函數應該可以執行下列至少一項操作 1.以一個函數作爲參數 2.返回一個函數作爲結果 _.each(['whiskey','tango','foxtort'],function(word){ c

原创 webpack(1):什麼是webpack模塊

模塊(Modules) 在模塊化編程中,開發者將程序分解成離散功能塊(discrete chunks of functionality),並稱之爲模塊。 每個模塊具有比完整程序更小的接觸面,使得校驗、調試、測試輕而易舉。 精心編寫

原创 React總結12:context

先看個代碼: class Button extends React.Component { render() { return ( <button style={{background: this.prop

原创 跨頁面通信之postMessage

最近要寫的一個頁面內嵌了一個iframe,引入的頁面是其他域名的頁面。復頁面需要獲取子頁面iframe裏面的信息,這就需要子頁面像父頁面傳值,首先想到了用iframe間的通信。 // 子頁面 <div id='child'>i a

原创 多線程的瀏覽器、單線程的JavaScript和Event Loop

我們經常看到這樣的說法,瀏覽器是多線程的,而js是單線程的,以及事件隊列(event loop)和異步回調的概念,現在總結下多線程的瀏覽器和單線程的JavaScript。 CPU cpu是整個計算機的核心,一直在運行,完成計算機的

原创 什麼是單頁面應用(SPA)

單頁 Web 應用 (single-page application 簡稱爲 SPA) 是一種特殊的 Web 應用。 它將所有的活動侷限於一個Web頁面中,僅在該Web頁面初始化時加載相應的HTML、JavaScript 和 CS

原创 Redux總結4:bindactioncreators的用法

今天看官方redux中的todomvc這個實例,找不到在哪裏調用store.dispatch這個方法,最後在containers中的App.js文件中的mapDispatchToProps中發現,我看看一下他如何調用: 有代

原创 懂點網站交互(4):省略多餘的文字

有力的文字都很簡潔。句子裏不應該有多餘的文字,段落裏不應該多餘的句子。 當我們瀏覽網頁時,發現頁面上的大部分文字都在佔地方,因爲沒人去閱讀他們。所有多餘的文字都在暗示你可能真的需要閱讀他們來理解到底是怎麼回事,這是的頁面的理解難度

原创 懂點網站交互(3):廣告牌設計101法則

在上篇文章 懂點網站交互(2):我們實際上是如何使用web的 我們可以瞭解到實際上用戶瀏覽網站時並不會按我們假定的方式,而是飛快的掃視而過,那麼我們如何讓用戶瞭解我們的網站呢? 1.儘量利用習慣用法 2.建立有效的視覺層次 3.把

原创 懂點網站交互(5):導航欄和麪包屑

我們首先要明白的是:如果在網站上找不到方向,人們不會使用你的網站。 從你作爲web用戶的體會就可以知道這一點,如果到了一個網站,卻找不到你要的內容,或者不知道這個網站是怎麼組織的,你不太可能在那裏呆很長時間——或者還會回來。那麼,

原创 函數式編程(2):Applicative編程

Applocative編程定義: 函數A作爲參數提供給函數B var nums = [1,2,3,4,5]; function doubleAll(array){ return _.map(array,function(

原创 前端路由原理

後端路由 最初路由這個概念是後端提出來的。根據前端路由返回不同的頁面,代表者是傳統的MVC模式,模板引擎+node。 比如我們請求這樣的一個路由 http://www.xxx.com/login 會經過這樣的流程: 瀏覽器發出

原创 算法之動態規劃

在刷LeetCode時,遇到了一些動態規劃的題。個人覺得動態規劃屬於算法中比較難的一部分了,出去面試的話,經常會問到一些經典的動態規劃題,比如青蛙跳臺階、最長迴文子串等。在此對動態規劃做一些簡單的研究和總結。 動態規劃的概念 動態

原创 mac OS命令行下打開vscode

一直想在item2命令行中打開vscode,在網上找了很多資源,基本都是更改.zshrc內容,但是不知道爲什麼,在我的item2中並未生效 以下是我找到的生效的便捷操作方式 1.打開vscode 2.快捷鍵shift + comman

原创 void 0 與 undefined的區別

在看《你不知道的JavaScript》的時候,看到了這個麼一段代碼. function foo() { var a = arguments[0] !== (void 0 ) ? arguments