原创 angular scope創建、繼承和銷燬以及scope生命週期(源碼分析)

在js中有函數作用域和全局作用域(es5),angular也存在作用域,它是如何創建的呢? 1.scope的創建和繼承 首先ng-app指令會查找作用範圍,在它上面會有個根作用域($rootScope): function S

原创 angularJs $evalAsync , $ $phase和$ $postDigest深入分析

上一篇文章已經詳細講解了髒檢查的實現原理,如果不瞭解的可以點擊這裏 今天我們來談下 scope中的一個異步方法$evalAsync,我平時用的很少,幾乎都不怎麼用,那是因爲我不知道這個方法有啥作用,下面我來從前入深的介紹下這個方法

原创 Angular之$watch、$apply、$digest原理深入分析(附帶源碼分析)

雙向綁定可以說angular的一個很強大的功能,而且之前只知道angular有雙向綁定,也沒仔細學習,其中的原理更是隻略知一二,前些天特意花了點時間整理下資料,把自己的理解記錄下來。(如果有錯誤,很樂意接受指正!) 髒值檢測(Di

原创 Es6函數默認參數作用域詳解

es5中只有兩種作用域,一個是全局作用域,另外一個是函數作用域,這個大家應該都知道,es6中多了個塊級作用域(這裏不多作解釋,不懂的自己去找資料),最近看es6發現函數默認參數會產生作用域,發現有點繞,查了些資料,把自己的思路和推

原创 setInterval 和setTimeout 清空定時器,返回值,賦值爲null的區別

說到定時器,很多人都不陌生,覺得這個有什麼說的,很簡單的了,其實你真正的理解了它了嗎? 定時器的返回值是什麼?clearInterval和 null有什麼區別,可能有些幹了幾年的都不知道,下面我以setInterval爲例來依次說下:

原创 詳談js函數中的防抖和節流

其實很多同學對這兩個的定義模糊不清,包括我之前學的時也感覺沒什麼區別!,當你深入研究下,其實兩者的區別很大的。 1.節流 節流顧名思義就是節約流水(流量),流水於是我聯想到水龍頭,當你擰開水龍頭(力度很大),水會很猛的往下噴出來,其實