给准备开始前端开发的你的一些小建议(译)

明确你面临的挑战:不一样的浏览器

  • 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描述的是一种理想的状态,可能和实际有所区别。

有用的连接

相关文章
相关标签/搜索