原创 原型和原型鏈梳理

在javaScript中,經常會說到原型(prototype)和原型鏈(prototype chain)。我曾經以爲我完全理解了,但是後來總是會發現不同的地方,這次進行一次系統的整理。 原型 什麼是原型? 看一下權威指南中的說明 每一個j

原创 二進制和十進制相互轉換、位移運算

二進制和十進制相互轉換、位運算 記錄下在codewar上做的一個題目和收穫 128.32.10.1 == 10000000.00100000.00001010.00000001 Because the above IP address ha

原创 redux-thunk 源碼學習記錄

redux觸發store更新,使用的dispatch(action),在關於createStore的源碼解讀中可以看到,store.dispatch限制了action必須是一個純對象。是爲了保持reducer的純淨性 只要傳入參數相同,返

原创 redux源碼學習筆記 - applyMiddleware

在創建store時,createStore(reducer, preloadedState, enhancer),除了reducer函數,初始狀態,還可以傳入enhancer。這個enhancer在createStore的源碼中是這樣使用的

原创 redux源碼學習筆記 - combineReducers

上一篇有瞭解到,reducer函數的兩個爲:當前state和此次dispatch的action。 state的結構是JavaScript對象,每個key都可以代表着不同意義的數據。比如說 { lists:object

原创 數字每三位添加一個 ',' 的不同實現方式

處理數值,爲每三位數加一個逗號,兼容浮點型數值 以1234567.1234 和 12345678爲例 通過內置方法實現 function addComma(num = 0){ let temps = num.to

原创 redux源碼學習筆記 - createStore

本篇是學習redux源碼的一些記錄,學習的redux版本是^4.0.1。 在頁面開發時,需要管理很多狀態(state),比如服務器響應,緩存數據,UI狀態等等···當頁面的龐大時,狀態就會變的混亂。redux就派上用場了,它最大的特點就是使

原创 compose函數

在學習redux源碼的時候看到了其中的工具函數compose,compose函數的作用就是組合函數,依次執行傳入的函數: 按順序依次執行 第一個執行的函數可以接受多個參數,後面的函數只有接受單個參數;前一個的返回值傳給下一個 reduc

原创 你不知道的JavaScript --- 作用域相關

本篇是《你不知道的JavaScript》的讀書筆記 什麼是作用域? 程序離不變量,那麼變量存儲在哪裏?程序需要時如何找到他們? 這些問題說明需要一套設計良好的規則來存儲變量, 並且之後可以方便地找到這些變量。這套規則被稱爲作用域。 作用域負

原创 Date相關

處理時間是常見的需求,總結下Date類的相關知識 構建時間對象 Date 對象基於1970年1月1日(世界標準時間)起的毫秒數。 構建對象實例有多種方式: 不傳入參數,默認以系統當前時間返回一個時間對象.new Date();

原创 記錄一個面試題目

判斷以下代碼的執行結果(涉及變量提升,函數聲明,原型鏈,this指向,作用域等知識點) 掘金 上看到的一個筆試題目,記錄並分析總結以下考察點。 function Foo () { getName = function () {

原创 new 操作符 做了什麼

new 操作符 做了什麼 new 運算符創建一個用戶定義的對象類型的實例或具有構造函數的內置對象的實例。 假設Test是一個構造函數,通常在創建對象的實例時,要使用new,eg:test = new Test() , 那麼在調用new的

原创 屬性設置百分比時的計算參考彙總

元素寬高 width,min-width,max-width等元素寬度設置百分比,以包含塊的寬度爲標準進行計算; height,min-height,max-height等元素寬度設置百分比,以包含塊的高度爲標準進行計算; 內外邊距 m

原创 各種居中方案

元素居中是常見的場景,此頁爲總結各種實現方式 水平居中 內聯元素(inline,inline-block等),將父元素的text-align屬性設爲center。 text-align CSS屬性定義行內內容(例如文字)如何相對它的塊父元

原创 關於如何使`(a === 1 && a === 2 && a === 3)`返回`true`問題的思考

看見這個面試題目,第一反應就是在變量a取值時進行了一些改變,那就要用getter,關於存取器的介紹可以看這裏 var temp = 1; Object.defineProperty(window, 'a', { get: funct