天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

編寫高效的JavaScript程序

  英文原文:Writing Fast, Memory-Efficient JavaScript

  Addy Osmani是谷歌公司Chrome團隊中的一名程序開發工程師。他是一位JavaScript愛好者,曾經編寫過一本開放源碼方面的書籍《Learning JavaScript Design Patterns》以及《Developing Backbone Applications》。為Modernizr和jQuery社區貢獻了開源項目,目前正在從事‘Yeoman’項目,旨在為開發者提供一系列健壯的工具、程序庫和工作流,幫助他們快速構建出漂亮、引人注目的Web應用。本文作者將帶領大家探索高效編寫代碼的測試驗證方法。

  文章內容如下:

  JavaScript引擎包括Google V8(Chrome,Node)都是專為快速執行大型JavaScript程序而設計的。在開發過程中,如果你在乎內存使用率和性能情況,那么你應該會關心在用戶的瀏覽器中JavaScript引擎背后是怎么樣的。無論是V8、SpiderMonkey (Firefox)、Carakan (Opera)、Chakra (IE) 還是其他,有了它們可以幫助你更好的優化應用程序。

  我們應該時不時地詢問自己:

  • 我還能做些什么使代碼更加有效?
  • 主流的JavaScript引擎做了哪些優化?
  • 什么是引擎無法優化的,我能期待利用垃圾回收進行清潔嗎?

 

  快速的加載Web網頁就如同汽車一樣,需要使用特殊工具。

  當涉及到編寫高效的內存和快速創建代碼時總會出現一些常見的弊端,在這篇文章中我們將探索高效編寫代碼的測試驗證方法。

  一、JavaScript如何在V8中工作?

  如果你對JS引擎沒有較深的了解,開發一個大型Web應用也沒啥問題,就好比會開車的人也只是看過引擎蓋而沒有看過車蓋內的引擎一樣(這里將Web網頁比如成汽車)。Chrome瀏覽器是我的優先選擇,這里我將談下V8的核心組件:

  • 一個基本的編譯器,在代碼執行前分析JavaScript、生成本地機器代碼而非執行字節代碼或是簡單的解釋,該段代碼之初不是高度優化的。
  • V8用對象模型“表述”對象。JavaScript中,對象是一個關聯數組,但是V8中,對象被“表述”為隱藏類,這種隱藏類是V8的內部類型,用于優化后的查找。
  • 運行時分析器監視正在運行的系統并優化“hot”(活躍)函數。(比如,終結運行已久的代碼)
  • 通過運行時分析器把優化編譯器重新編譯和被運行時分析器標識為“hot”的代碼 ,這是一種有效的編譯優化技術,(例如用被調用者的主體替換函數調用的位置)。
  • V8支持去優化,也就是說當你發現一些假設的優化代碼太過樂觀,優化編譯器可以退出已生成的代碼。
  • 垃圾回收,了解它是如何工作的,如同優化JavaScript一樣同等重要。

  二、垃圾回收

  垃圾回收是內存管理的一種形式,它試圖通過將不再使用的對象修復從而釋放內存占用率。垃圾回收語言(比如JavaScript)是指在JavaScript這種垃圾回收語言中,應用程序中仍在被引用的對象不會被清除。手動消除對象引用在大多數情況下是沒有必要的。通過簡單地把變量放在需要它們的地方(理想情況下,盡可能是局部作用域,即它們被使用的函數里而不是函數外層),一切將運作地很好。

  垃圾回收清除內存

  在JavaScript中強制執行垃圾回收是不可取的,當然,你也不會想這么做,因為垃圾回收進程被運行時控制著,它知道什么時候才是適合清理代碼的最好時機。

  1. “消除引用”的誤解(De-Referencing Misconceptions)

  在JavaScript中回收內存在網上引發了許多爭論,雖然它可以被用來刪除對象(map)中的屬性(key),但有部分開發者認為它可以用來強制“消除引用”。建議盡可能避免使用delete,在下面的例子中delete o.x 的弊大于利,因為它改變了o的隱藏類,使它成為通用的慢對象。

    var o = { x: 1 };           delete o.x; // true         o.x; // undefined 

it知識庫編寫高效的JavaScript程序,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久是热这里只有精品 | 午夜人妻理论片天堂影院 | 久久国产高清视频 | 小玲被公扒开腿 | 99久久精品国产亚洲AV | 久久re亚洲在线视频 | 99热在线免费播放 | 久久99精品国产麻豆婷婷 | 超碰在线视频人人AV | 国产精品久久久久久久久爆乳 | 日韩精品久久日日躁夜夜躁影视 | 亚洲AV香蕉一区区二区三区蜜桃 | 亚洲精品国偷拍自产在线 | 夫外出被公侵犯日本电影 | 手机观看毛片 | 差差差差差差差差免费观看 | 天天啪免费视频在线看 | 国产精品日本欧美一区二区 | 涩里番app黄版网站 色综合伊人色综合网站中国 | 8X拨牐拨牐X8免费视频8 | 成人免费视频网站www | 午夜理论在线观看不卡大地影院 | 一二三四中文字幕在线看 | 啦啦啦视频在线观看WWW | 97综合久久| 乳色吐息未增删樱花ED在线观看 | 正在播放国产尾随丝袜美女 | 国产美女裸身网站免费观看视频 | 草699一码二码三码四码 | 影音先锋色小姐 | yellow免费观看直播 | 无人影院在线播放视频 | 精品国产美女AV久久久久 | 久久re这里精品23 | 被吊起玩弄的女性奴 | 最新果冻传媒在线观看免费版 | tobu中国日本高清 | 久久婷婷国产五月综合色啪最新 | 强奷乱码中文字幕熟女免费 | 精品无码久久久久久久动漫 | 含羞草国产亚洲精品岁国产精品 |