淺談 JavaScript 處理樹形結構的幾個場景與方案
前言 近日,Mac 下著名軟體 Homebrew 的作者,因為沒解出來二叉樹翻轉的白板演演算法題,慘遭 Google 拒絕,繼而引發推特熱議。 在 JavaScript 中也有很多樹形結構。比如 DOM 樹,省市區地址聯動,檔案目錄等; JS...
前言 近日,Mac 下著名軟體 Homebrew 的作者,因為沒解出來二叉樹翻轉的白板演演算法題,慘遭 Google 拒絕,繼而引發推特熱議。 在 JavaScript 中也有很多樹形結構。比如 DOM 樹,省市區地址聯動,檔案目錄等; JS...
閉包拾遺 之前寫了篇《閉包初窺》,談了一些我對閉包的淺顯認識,在前文基礎上,補充並且更新些對於閉包的認識。 還是之前的那個經典的例子,來補充些經典的解釋。 function outerFn() { var a = 0; function i...
Javascript中的事件經常被認為如謎一般不可解。Javascript是一個事件驅動的語言,在這樣的前提下前面的看法是很奇怪,但是說到它們的複雜本質和除錯難度時,這樣的看法又是很正常的。為此,我建立了視覺化事件(Visual Event...
Nicholas Zakas是一位 JS 大師,Yahoo! 首頁的前端主程。他是《高效能 Javascript》的作者,這本書值得每個程式員去閱讀。 當談到 JS 效能的時候,Zakas差不多就是你要找的,2010年六月他在Google ...
很多與陣列有關的任務聽起來很簡單,但實際情況並不總是如此,而開發人員在很多時候也用不到他。最近我碰到了這樣一個需求: 將一個元素插入到現有陣列的特定索引處。聽起來很容易和常見,但需要一點時間來研究它。 // 原來的陣列var array =...
本文屬於JavaScript的基礎技能. 我們將學習結合/合併兩個JS陣列的各種常用方法,並比較各種方法的優缺點. 我們先來看看具體的場景: var q = [ 5, 5, 1, 9, 9, 6, 4, 5, 8];var b = [ "t...
大部分web應用都需要解析URL,無論是提取域名、實現REST API,還是查詢圖片路徑。一個典型的URL路徑如下圖所示: 你可以使用正則運算式把URL字串拆分為連續的部分,但是這有點複雜而且沒必要… 服務端URL解析 Node.js(及其...
Javascript是一種日益增長的語言,特別是現在ECMAScript規範按照每年的釋出時間表釋出。伴隨著這門語言的規模化和快速發展,掌握JS(不僅僅是jQuery)的重要性,變得更加重要。 這不是一篇自稱是 JS 開發者知識聖杯的權威指...
作為介面開發者,對使用者輸入的響應可以說是我們工作的核心。為了搭建響應式的網路應用,理解 touch、mouse、pointer 和 keyboard 動作與瀏覽器之間的關係是關鍵。你很有可能經歷過移動瀏覽器的三百毫秒延遲或者在觸控移動中掙扎...
1. Firefox Gecko是firefox的呈現引擎。當初的Gecko是作為通用Mozilla瀏覽器一部分開發的,而第一個採用Gecko引擎的瀏覽器是Netscape6; 我們可以使用使用者代理檢測下:如下JS程式碼: var ua = ...