1. 程式人生 > >編寫快速、高效的JavaScript程式碼

編寫快速、高效的JavaScript程式碼

使用物件的技巧

● 用建構函式構造物件。這樣可以保證所有的由該建構函式構造的物件都具有相同的隱藏類,而且可以有助於避免修改這些隱藏類。有個附加的好處就是,它會比Object.create()稍快。

● 在你的程式中,物件的型別數目以及它們的複雜程度是沒有限制的(不難理解的是:長原型鏈會可能會導致有害的結果,那些只有少數屬性的物件的特殊表現就是,它們會比那些更大的物件執行得要快一點)。對於“熱點”物件,儘量保持原型鏈的簡短,以及屬性數目較少。

物件的複製

對於應用的開發者來說,物件的複製是一個常見的問題。雖然基礎測試可能表明V8在不同的情況下對這類問題都處理得很好,但是,當你要複製任何東西的時候,仍然需要小心。複製大的東西通常是緩慢的——所以不要這樣做。JavaScript中的for…in迴圈處理這種事情特別的糟糕,因為它擁有可怕的規範,這使得它在任何引擎中處理任何物件,都不會獲得良好的速度。

當你一定要在一段效能要求苛刻的程式碼中複製物件(並且你無法擺脫這種狀況),那麼就用陣列或者一個自定義的“拷貝建構函式”,幫你逐一明確地複製物件的每一個屬性。這可能是實現的最快的方式:

1 2 3 4 5 function clone(original) { this.foo = original.foo; this.bar = original.bar; } var copy = new clone(original);

模組模式中的快取函式

在模組模式中快取你的函式可以帶來效能的提高。看看下面的例子,因為它總是會強制進行成員函式的複製,你習慣看到的變化可能會更慢。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

相關推薦

編寫快速高效JavaScript程式碼

使用物件的技巧 ● 用建構函式構造物件。這樣可以保證所有的由該建構函式構造的物件都具有相同的隱藏類,而且可以有助於避免修改這些隱藏類。有個附加的好處就是,它會比Object.create()稍快。 ● 在你的程式中,物件的型別數目以及它們的複雜程度是沒有限制的(不難理解的是:長原型鏈會可能

編寫可維護的javascript程式碼-讀書心得

開文抄襲一段原文: 程式設計風格和編碼規範是什麼?程式設計風格是編碼規範的一種,用來規約單檔案中程式碼的規劃。編碼規範還包含程式設計最佳實踐、檔案和目錄的規範及註釋等方面。 下面按照書的目錄進行整理一些心得 1. 基本格式化 縮排層級 分為兩種,使用製表符和空格符進行縮排,縮

編寫更優雅的 JavaScript 程式碼

總結下對 JavaScript 程式碼編寫的認識,寫儘可能優雅的程式碼。 程式碼技巧 ES2015+ 新特性寫法 熟練使用 ES6 新特性可以優化程式碼,更加簡潔,程式碼對比 // 箭頭函式 function foo(){ console.log('hell

怎麼用c#編寫瀏覽器或者執行javascript程式碼

由於專案需要,需要在c#程式中執行HTML5程式碼和javascript程式碼。我一想總不能為了這個寫個解釋程式吧?得寫到猴年馬月啊?再說當初編譯原理這門課剛及格,基本功也不好。所以上網查了查,javascript解釋程式有好多,不過大致都可以分為IE核心,chrome核心

工(程師)欲善其事,必先利其(編譯)器——《Android Studio實戰——快速高效地構建Android應用》

    Android Studio 是改變Android開發方式的編譯器,《Android Studio實戰——快速、高效地構建Android應用》是一本教人如何改變Android開發方式的書。  

GitHub + jsDelivr + PicGo + Imagine 打造穩定快速高效免費圖床

GitHub + jsDelivr + PicGo + Imagine 打造穩定快速、高效免費圖床 前言 為什麼要使用圖床呢? 因為在不同平臺釋出同一篇文章的時候,最一個痛苦的點就是,圖片儲存問題,各個平臺的檔案儲存方式各不相同,無法直接 Ctrl + C 的方式一鍵搞定,為了解決這個問題,使用 Mark

編寫靈活穩定高質量的CSS程式碼的規範(推薦收藏)

編寫靈活、穩定、高質量的HTML程式碼的規範 一、唯一定律 無論有多少人共同參與同一專案,一定要確保每一行程式碼都像是唯一個人編寫的。 二、HTML 2.1 語法 (1)用兩個空格來代替製表符(tab) -- 這是唯一能保證在所有環境下獲得一致展現的方法。 (2)巢狀元素應當

精心收集的 95 個超實用的 JavaScript 程式碼片段( ES6+ 編寫

目錄 Array 陣列 Array concatenation (陣列拼接) Array difference (陣列比較) Array includes (陣列包含) Array intersection (陣列交集) Array remove (移除陣列中的

湯姆大叔的部落格 -【1】編寫高質量JavaScript程式碼的基本要點

1、最小全域性變數(Minimizing Globals) (1)JavaScript通過函式管理作用域。在函式內部宣告的變數只在這個函式內部,函式外面不可用。 (2)全域性變數就是在任何函式外面宣告的或是未宣告直接簡單使用的。 (3)每個JavaScript環境有一個全域性物件,當

編寫靈活穩定高質量的前端程式碼的規範一(推薦收藏)

編寫靈活、穩定、高質量的HTML程式碼的規範 雖然現在前端很多都已經成為SPA(單頁面應用)開發,或許連渲染的html都是自動生成的.但是歸根結底,還是html和css,必要時候我們還是需要好好了解這些基礎的開發規範 當然這都是基礎性的規範,和公司規範的並不衝突.你也可以當作課外知識閱讀~ 一、唯一定律

編寫靈活穩定高質量的前端程式碼的規範二(推薦收藏)

編寫靈活、穩定、高質量的HTML程式碼的規範二 一、程式碼組織 1.1 注意 (1)以元件為單位組織程式碼段。 (2)制定一致的註釋規範。 (3)使用一致的空白符將程式碼分隔成塊,這樣利於掃描較大的文件。 (4)如果使用了多個 CSS 檔案,將其按照元件而非頁面的形式分拆,因為頁面會被重組,而元件只會被移

2_初學者快速掌握主流深度學習框架TensorflowKerasPytorch學習程式碼(20181211)

初學者快速掌握主流深度學習框架Tensorflow、Keras、Pytorch學習程式碼 一、TensorFlow 1、資源地址: 2、資源介紹: 3、配置環境: 4、資源目錄: 二、Keras

RDIFramework.NET ━ .NET快速資訊化系統開發框架 V3.2->WinForm版本重構崗位授權管理介面更規範高效與美觀

  崗位(職位)管理模組主要是針對組織機構的崗位(職位)進行管理,包括:增加、修改、刪除、移動、對崗位設定使用者,設定崗位的許可權等。崗位管理在企業應用中是一個普遍應用的模組,也屬於其他業務應用的基礎。合理的組織與規劃組織機構下的崗位,對後期的管理可以起到事半功倍的效果。登入系統後,選擇“崗位管理”可以進入崗

程式碼規範減少冗餘高效利用記憶體

1、程式碼規範      a、命名規範、方法名規範,譬如你想查詢一個人的資訊    接口裡就應該為getPersonDetailById(int id) ,呼叫的人很清楚的明白這個方法的作用以及需要傳遞些什麼引數。在DAO層,就應該為fingPersonDetailById(

如何編寫高效程式碼(2014/6/1)

編寫高效的程式碼有兩個條件:選擇好的演算法和資料結構,編寫編譯器能夠優化以轉換成高效可執行的程式碼。前者是基礎和前提,即使後者做的足夠好,但是選用了錯誤的演算法和資料結構,優化也不起作用,這個一點要搞清楚。本文的內容的側重於後者。1 計算機系統架構L1和L2位於CPU晶片上,

JavaScript 程式碼簡潔 - 保持統一每個常量都該命名直接了當避免無意義的字首使用預設值

保持統一 可能同一個專案對於獲取使用者資訊,會有三個不一樣的命名。應該保持統一,如果你不知道該如何取名,可以去 codelf 搜尋,看別人是怎麼取名的。 getUser() 每個常量都該命名 可以用 buddy.js 或者 ESLint 檢測程式碼中未命名的常量。 cons

編寫可維護的JavaScript》讀書筆記之程式設計實踐-將配置資料從程式碼中分離

將配置資料從程式碼中分離出來 任何時候修改原始碼都會有引入 bug 的風險,且只修改一些資料的值也會帶來一些不必要的風險。精心設計的應用應當將關鍵資料從主要的原始碼中抽離出來,因為資料是不應當影響指令的正常執行。 什麼是配置資料 配置資料是應用中寫死(har

編寫可維護的JavaScript》讀書筆記之程式設計風格-變數函式和運算子

變數、函式和運算子 變數宣告 變數宣告是通過 var 語句來完成的。JavaScript 中允許多次使用 var 語句,此外 var 語句幾乎可以用在 JavaScript 指令碼中的任意地方。 【注意】:不論 var 語句是否真正會被執行,所有的 var 語句都提

IT榻榻米-java開發的極簡主義java快速開發平臺整合程式碼生成器。

專案網站地址:http://www.itttm.com/IT榻榻米之產品介紹IT榻榻米是一款java輕量級智慧快速開發平臺,可以幫助您解決專案中90%的重複工作,讓您更多關注業務邏輯。由於本身輕量級特性,可根據自身需求二次開發想要的功能。使用 Spring boot,主流趨勢

編寫高效Android程式碼

雖然如此說,但似乎並沒有什麼好的辦法:Android裝置是嵌入式裝置。現代的手持裝置,與其說是電話,更像一臺拿在手中的電腦。但是,即使是“最快”的手持裝置,其效能也趕不上一臺普通的臺式電腦。 這就是為什麼我們在書寫Android應用程式的時候要格外關注效率。這些裝置並沒有那麼快,並且受電池電量的制約。這意味