1. 程式人生 > >day12 瀏覽器與JavaScript介紹

day12 瀏覽器與JavaScript介紹

一、瀏覽器組成

1、shell ——外殼
例如選單,工具欄 等。主要是提供給使用者介面(位址列、書籤、前進/後退、重新整理、主頁按鈕)操作,引數設定等等。它是呼叫核心來實現各種功能的。
2、核心 ——渲染引擎(語法規則和渲染),js引擎,其他模組

主流瀏覽器 渲染引擎((layout engineer或者Rendering Engine) JavaScript直譯器(JS引擎)
 決定了瀏覽器如何顯示網頁的內容以及頁面的格式資訊。不同的瀏覽器核心對網頁編寫語法 的解釋有所不同,因此同一網頁在不同的核心的瀏覽器裡的渲染(顯示)效果也可能不同 讀取網頁中的javascript程式碼,對其進行處理並執行,實現網頁的動態效果
IE trident Chakra
Google chrome Webkit / blink V8
Firefox Gecko SpiderMonkey
Safari Webkit JavaScript Core
Opera Presto Carakan
Edge EdgeHTML Chakra
  Chrome 的V8 直接把js程式碼編譯成原生機器碼(IA-32, x86-64, ARM, or MIPS CPUs),並且使用瞭如內聯快取(inline caching)等方法來提高效能。有了這些功能,JavaScript程式在V8引擎下的執行速度媲美二進位制程式。
二、JavaScript

一種直譯式指令碼語言,是一種動態型別、弱型別、基於原型的語言,內建支援型別。
  在1995年時,由Netscape公司的Brendan Eich,在網景導航者瀏覽器上首次設計實現而成。因為Netscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript

。但實際上它的語法風格與Self及Scheme較為接近.
  為了取得技術優勢,微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上執行。為了統一規格,因為JavaScript兼容於ECMA標準,因此也稱為ECMAScript

1、組成部分  
ECMAScript,描述了該語言的語法和基本物件。
DOM,文件物件模型,描述處理網頁內容的方法和介面。
BOM,瀏覽器物件模型,描述與瀏覽器進行互動的方法和介面。

2、特點
1、是一種解釋性指令碼語言(程式碼不進行預編譯)。
2、跨平臺特性,在絕大多數瀏覽器的支援下可以在多種平臺下執行(如 Windows、Linux、Mac、Android、iOS等)。
3、單執行緒:js是單執行緒語言,瀏覽器只分配給js一個主執行緒,用來執行任務(函式),一次只能執行一個任務。
4、js執行佇列:輪轉時間片。
5、主要用來向HTML頁面新增互動行為。
6、可以直接嵌入HTML頁面,但寫成單獨的js檔案有利於結構和行為的分離。