原创 JavaScript— console (30)

對於前端開發者來說,在開發過程中需要監控某些表達式或變量的值的時候,用 debugger 會顯得過於笨重,取而代之則是會將值輸出到控制檯上方便調試。最常用的語句就是console.log(expression)了。 然而對於作爲一個全局對象

原创 JavaScript—Ajax基礎知識梳理(29)

Ajax用一句話來說就是無須刷新頁面即可從服務器取得數據。注意,雖然Ajax翻譯過來叫異步JavaScript與XML,但是獲得的數據不一定是XML數據,現在服務器端返回的都是JSON格式的文件。 完整的Ajax請求過程完整的Ajax請求過

原创 JavaScript—常見設計模式整理(27)

開發中,我們或多或少地接觸了設計模式,但是很多時候不知道自己使用了哪種設計模式或者說該使用何種設計模式。本文意在梳理常見設計模式的特點,從而對它們有比較清晰的認知。 JavaScript 中常見設計模式 單例模式策略模式代理模式迭代器模式發

原创 JavaScript—ES6關於Promise的用法(19)

Node的產生,大大推動了Javascript這門語言在服務端的發展,使得前端人員可以以很低的門檻轉向後端開發。 當然,這並不代表迸發成了全棧。全棧的技能很集中,絕不僅僅是前端會寫一些HTML和一些交互,後臺熟悉數據庫的增刪查改。 想必接觸

原创 JavaScript—數組reduce()方法詳解及高級技巧(18)

基本概念reduce() 方法接收一個函數作爲累加器(accumulator),數組中的每個值(從左到右)開始縮減,最終爲一個值。reduce 爲數組中的每一個元素依次執行回調函數,不包括數組中被刪除或從未被賦值的元素,接受四個參數:初始值

原创 Javascrip—關於this綁定機制的解析(12)

在《你不知道的JavaScript》裏面關於this綁定機制的部分講的特別好,很清晰,這部分對我們js的使用也是相當關鍵的,並且這也是一個面試的高頻考點,所以整理一篇文章分享一下這部分的內容,相信看本文的解析,你一定會有所收穫的爲什麼要用t

原创 JavaScript—ES6 元編程(5)

幾年前 ES6 剛出來的時候接觸過 元編程(Metaprogramming)的概念,不過當時還沒有深究。在應用和學習中不斷接觸到這概念,比如 mobx 5 中就用到了 Proxy 重寫了 Observable 對象,覺得有必要梳理總結一下。

原创 Javascrip高程中的垃圾內存回收制(6)

內存的生命週期:分配你所需要的內存:由於字符串、對象等沒有固定的大小,js程序在每次創建字符串、對象的時候,程序都會分配內存來存儲那個實體。 使用分配到的內存做點什麼。不需要時將其釋放回歸:在不需要字符串、對象的時候,需要釋放其所佔用的內存

原创 JavaScript的循環方式(1)

JavaScript提供了許多通過LOOPS迭代的方法。本教程解釋了現代JAVASCRIPT中各種各樣的循環可能性 JavaScript提供了許多迭代循環的方法。本教程通過一個小例子和主要屬性解釋每一個。 for const list =

原创 Javascript—閉包詳解(3)

閉包(closure)是Javascript語言的一個難點,也是它的特色,很多高級應用都要依靠閉包實現。 閉包的特性閉包有三個特性: 1.函數嵌套函數2.函數內部可以引用外部的參數和變量 3.參數和變量不會被垃圾回收機制回收 閉包的定義

原创 JavaScript 的 async/await 理解(4)

隨着 Node 7 的發佈,越來越多的人開始研究據說是異步編程終級解決方案的 async/await。我第一次看到這組關鍵字並不是在 JavaScript 語言裏,而是在 c# 5.0 的語法中。C# 的 async/await 需要在 .