給準備開始前端開發的你的一些小建議(譯)

明確你面臨的挑戰:不一樣的瀏覽器

  • Firefox已經其它一些知名度較低的瀏覽器使用一種稱做Gecko的開源引擎;javascript

  • Safari和Chrome都使用一種叫WebKit的開源渲染引擎,但兩者具備不一樣的JavaScript引擎。Chrome使用Google V8,Safari使用其自有的閉源引擎,因爲兩者具備相同的渲染引擎,所以它們具備不少類似的特性;css

  • Opera使用一種叫作Presto的閉源引擎;html

  • IE使用一種叫作Trident的閉源引擎,ie6,ie7的該引擎是讓人恐懼的,在ie8上稍有改善,在ie9及之後改進很大。前端

在專業的討論中Gecko, V8, Webkit常常被提到,Trident, Presto使用較少。html5

有時候,跨瀏覽器的開發變得複雜,瀏覽器根據其支持狀況能夠被劃分爲A,B,C三類;java

  • A.最新的Firefox, IE, Safari/Chrome算法

    > 支持狀況理想;
  • B. Opera以及較新版的主流瀏覽器segmentfault

    > 支持狀況足夠好,可是在外觀和使用上可能具備一些缺點;
  • C. 老版主流瀏覽器瀏覽器

    > 只支持核心功能

選用現代的DOCTYPE

在學習Html的過程當中,你可能已經知道兩種渲染模式:標準模式(Standards)和怪異模式(Quirks ),實際上還存在第三種渲染模式「幾乎標準模式」(almost standards),能夠在這裏查看其詳細信息。ide

瀏覽器經過識別html頂部DOCTYPE的類型選擇對應的渲染模式。

對於現代的站點來講,
<!DOCTYPE HTML>
是最好的。

這種聲明讓現代瀏覽器在標準模式下渲染網頁,讓老一些的瀏覽器在幾乎標準模式下渲染網頁。

值得注意的是,渲染模式的選擇不只關乎html,javascript的一些特性也依賴於渲染模式,尤爲是涉及到css盒子以及定位等相關功能時。

樣式的應用也是不一樣的,好比說在ie7上,嚴格模式時僞類:hover能夠在任何元素上使用,而在非嚴格模式時,其只能用在連接上。

沒使用正確的DOCTYPE會使你的程序出現一些莫名奇妙的問題,記住要使用<!DOCTYPE HTML>

合適的學習資源

如何使用合適的參考手冊

網上有兩大主流的關於JavaScript的手冊.

  • 一是來自微軟的MSDN,這裏一般把JavaScript叫作「JScript」

    > 在此查看資料時能夠在Google裏輸入相似「RegExp msdn」或「RegExp msdn jscript」這樣的語句來搜索。這裏適合查詢IE相關特性的信息;
  • 另外一個是Mozilla社區的MDN;

    > 在此查看資料時能夠在Google裏輸入相似「RegExp msc」,這裏適合查詢通用或者火狐相關的特性;

不兼容性

前端開發會碰到不少因誇瀏覽器而產生的不兼容問題,http://www.quirksmode.org/這個網站能夠幫你查詢兼容性,固然也可使用can i use.

對ECMAScript的說明

對Javascript進行詳細說明(對語法,基本對象以及算法的正式描述)的語言叫作ECMAScript

爲何不叫JavaScript
JavaScript這個商標爲Oracle(甲骨文)公司擁有(舊爲Sun公司擁有,Sun被Oracle收購)

選擇叫作ECMAScript使得該標準獨立於商標全部者。

ECMAScript對JavaScript如何工做進行了詳細的描述,它是一個超前的信息源。

咱們處於一個不斷變化的時代,如今的標準是ES6,可是瀏覽器還處於不斷完善這些功能的過程當中;過去的ES5和ES3已被大多主流瀏覽器所支持。

當你想深刻學習JavaScript是如何工做的,ECMAScript是很好的信息源。不過須要注意,其中一些功能可能瀏覽器當前還不支持。

HTML5

JavaScript是一門通用的語言,這就是爲何ECMAScript隻字不提瀏覽器的問題。

關於這個問題,HTML5裏有詳細的介紹。

W3.org DOM specifications是一個很是大可是頗有價值的地方,能夠把他們當作參考。搜索時能夠在Google裏輸入」something site:w3.org」來查找DOM以及事件相關的事情。

不過W3描述的是一種理想的狀態,可能和實際有所區別。

有用的連接

相關文章
相關標籤/搜索