JavaScript高级程序设计(第3版)学习笔记 概述_基础知识
程序员文章站
2022-05-15 21:36:08
...
在JavaScript面世之初,没有人会想到它会被应用的如此广泛,也远比一般人想象中的要复杂强大的多,在我自己学习的过程中,曾经有过多次震撼,只是常常没有过多久,很多美轮美奂的用法就又模糊起来,希望通过对JavaScript高级程序设计(第3版)的专题学习笔记,能够较为系统的将基础知识梳理一次,也能够将自己平常学习与工作过程中遇到的一些美妙用法记录下来,便于自己再次学习,当然,也希望可以给有需要的朋友们一些力所能及的帮助。
');会将字符串中的作为前面的标签结束符来解析,从而出现异常
document.writeln(''+'ipt>');//通过将分开,从而避免作为
(3)关于type属性,虽然text/javascript和java/ecmascript都已经不被推荐使用,但一直以来使用的都还是test/javascript,实际上,服务器在传送JavaScript文件时使用的MIME类型通常是application/x-javascript,但在type中设置这个值可能导致脚本被忽略,另外,在非IE浏览器中还可以使用application/javascript和application/ecmascript。type如果没有指定,默认值为text/javascript。
(4)只要不包含async和defer,浏览器会按照
相关术语
先简要说一下和JavaScript相关的一些背景术语,就不详细讨论JavaScript的历史了,想了解的朋友可以参考原书。
- ECMA:欧洲计算机制造商协会(Standard ECMA-262European Computer Manufacturers Association)。
- TC39:ECMA第39号技术委员会(Technical Committee#39),由来自一些关注脚本语言发展的公司的程序员组成,负责制定一种通用、跨平台、供应商中立的脚本语言。
- ECMAScript:由ECMA制定,在ECMA-262中定义的脚本语言标准。ECMAScript只是一个脚本语言标准,你尽可以在自己的环境中取实现它,这个环境,就称为ECMAScript的宿主环境,Web浏览器可以说是ECMAScript目前最重要的宿主环境了,而不同的Web浏览器,对ECMAScript标准的支持也不尽相同。除Web浏览器,Adobe ActionScript也实现了ECMAScript。一般的宿主环境,除了实现ECMAScript标准,也会有各自的扩展,以便与环境更好的交互。
- ES3、ES5:ECMAScript目前最新的版本是5.1版,发布于2011年7月,可以从其官方网站免费下载。最主要的两个版本是第3版和第5版,分别简称为ES3和ES5,目前五大浏览器(IE、Firefox、Chrome、Safari、Opera)都已经开始不同程度的支持ES5了,但目前在Web浏览器上兼容性最好的还是第3版。介于向后兼容和安全上的考虑,第5版提供了普通和严格两种模式,后面会再讨论相关内容。
- LiveScript、JavaScript、JScript:LiveScript是Netscape最初开发JavaScript时的名称,在发布时,为了赶上Java的时髦,临时修改为JavaScript了,而JScript则是微软为了防止版权冲突而给自己的脚本语言起的名称。对于开发者来说,他们都只是ECMAScript的实现。一般来说,JavaScript的除了实现ECMAScript外,还会包括针对浏览器的扩展(BOM:浏览器对象模型)和针对XML/HTML API的扩展(DOM:文档对象模型)。
- DOM:文档对象模型(Document Object Model),DOM标准由负责制定WEB通信标准的W3C(World Web Consortium,万维网联盟)制定。DOM并非针对JavaScript的,很多别的语言也都实现了DOM。目前DOM共有三级标准(DOM1、DOM2、DOM3),有时,也将DOM标准之前称为DOM0级,现代浏览器几乎全部支持DOM2级标准,也部分支持DOM3级标准了。
- BOM:浏览器对象模型(Browser Object Model)。
使用JavaScript
在HTML中使用JavaScript的方式主要有:
- 使用
属性 | 是否必填 | 适用范围 | 说明 |
async | 可选 | 外部文件 | 表示应该立即下载脚本,但不应妨碍页面中的其它操作,比如下载资源或其它脚本文件 |
charset | 可选 | 外部文件 | 表示通过src指定的代码的字符集 |
defer | 可选 | 外部文件,IE4-7也支持嵌入代码 | 表示脚本可以延迟到文档完全解析和显示之后再执行 |
language | 可选(已废弃) | 原用于表示编写代码的脚本语言 | |
src | 可选,使用外部文件时为必填选项 | 外部文件 | 表示包含要执行的外部文件 |
type | 可选,默认text/javascript | 可以看成是language的替代属性,表示编写代码使用的脚本语言的内容类型(也称为MIME类型)。 |
说明:
(1)外部文件
A、在XHTML文档中,导入外部文件时,可以使用简写方式但是在HTML中只能。
B、导入外部文件时,src属性是必须的,这个时候嵌入在中的代码(如果有)会被忽略。
C、src属性也可以指定来自外部域的JavaScript文件,这一点让
D、外部文件只需要包含中的代码即可,不需要包括
(2)在字符串,否则会解析出错。例如:
复制代码 代码如下:
');会将字符串中的作为前面的标签结束符来解析,从而出现异常
document.writeln(''+'ipt>');//通过将分开,从而避免作为
(3)关于type属性,虽然text/javascript和java/ecmascript都已经不被推荐使用,但一直以来使用的都还是test/javascript,实际上,服务器在传送JavaScript文件时使用的MIME类型通常是application/x-javascript,但在type中设置这个值可能导致脚本被忽略,另外,在非IE浏览器中还可以使用application/javascript和application/ecmascript。type如果没有指定,默认值为text/javascript。
(4)只要不包含async和defer,浏览器会按照
推荐阅读
-
javascript高级程序设计(第三版)学习笔记(一) 正则表达式整理
-
JavaScript高级程序设计(第三版)学习笔记(二)JavaScript使用
-
JavaScript高级程序设计(第三版)学习笔记(三) JavaScript语法 草稿
-
JavaScript高级程序设计(第四版)学习笔记(第二章 HTML中的JavaScript)
-
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)_基础知识
-
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)_基础知识
-
JavaScript高级程序设计(第3版)学习笔记10 再访js对象_基础知识
-
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)_基础知识
-
JavaScript高级程序设计(第3版)学习笔记11 内建js对象_基础知识
-
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)_js面向对象