第一章:Javascript简介
1.JavaScript诞生于1995年,当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作。现在,JavaScript是一种专为与网页交互而设计的脚本语言。
注:Netscape(网景)公司研发,Java是sun公司研发,原名为LiveScript,为了搭上媒体热炒的Java的顺风车,更名为JavaScript
2.微软推出JSript的和网景的JavaScript相竞争,最后微软胜利。ECMA指定了规定并重新命名为ECMAScript。
3.虽然JavaScript和ECMAScript通常都被人们用来表达相同的含义,但JavaScript的含义却比ECMA-262中规定的要多得多。一个完整的JavaScript实现因由下列三个不同的部分组成。
(1)核心(ECMAScript),由ECMA-262定义,提供核心语言功能。
(2)文档对象模型(DOM),提供访问和操作网页内容的方法和接口。
(3)浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
4.ECMA-262规定了以下组成部分:语法,类型,语句,关键字,保留字,操作符,对象
5.到了2008年,五大主流web浏览器(IE,FireFox,Safari,Chrome和Opera)全部做到了与ECMA-262兼容。其中,所有浏览器对ECMAScript第三版的支持大体上还是不错的,而对ECMAScript 5的支持程度越来越高,但对DOM的支持则彼此相差较多。对已经正式纳入HTML5 标准的BOM来说,尽管个浏览器都实现了某些众所周知的共同特性,但其他特性还是会因浏览器而异。
第二章:在HTML中使用JavaScript
1.HTML4.01为<script>定义了6个属性:async(可选)、charset(可选)、defer(可选)、language(已废弃)、src(可选)、type(可选)
2.因为按照解析嵌入式代码的规则,当浏览器遇到字符串“</script>"时,就会认为那是结束的</script>标签。而通过转义字符”/“可以解决这个问题。<\/script>
3.无论如何包含代码,只要不存在defer和async属性,浏览器都会按照<script>元素在页面中出现的先后顺序一次进行解析。
4.把JavaScript插入到HTML页面中要使用<script>元素,使用这个元素可以把JavaScript嵌入到HTML页面中,让脚本和标记混合在一起;也可以包含外部的JavaScript文件
我们需要主要的地方有:
- 在包含外部的JavaScript文件时,必须将src属性设置为指向相应文件的URL。而这个文件既可以是与包含它的页面位于同一个服务器上的文件,也可以是其他任何域中的文件。
- 所有<script>元素都会按照它们在页面中出现的先后顺序依次被解析。在不使用defer和async属性的情况下,只有在解析完前面<script>元素的代码之后,才会开始解析后面<script>元素中的代码。
- 由于浏览器会先解析完不使用defer属性的<script>元素中的代码,然后再解析后面的内容,所以一般应该把<script>元素放在页面最后,即主要内容后面,</body>前面
- 使用defer属性可以让脚本在文档完全呈现只有再执行。延迟脚本总是按照指定他们的顺序执行。
- 使用async属性可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照他们在页面中出现的顺序执行
另外,使用<noscript>元素可以指定在不支持脚本的浏览器中显示的替代内容。但在启用了脚本的情况下,浏览器不会显示<noscript>元素中的任何内容。