JavaScript概述
####什么是JavaScript
JavaScript是一门解释型脚本语言,在Web开发中通常用它来增强网页与应用程序之间的交互。
####JavaScript和Java
JavaScript和Java在语言层面上没有什么关系
- Java是OOP的编程语言,而Javascript是一个OOP的脚本语言(脚本语言属于编程语言的一种)
- Java可以在虚拟机或浏览器运行,Javascript只能在浏览器运行
Javascript最早是由Netscape公司创造的,原名为Mocha,在1995年更名为LiveScript,同年9月更名为Javascript。
关于更名为Javascript有说因为当时Netscape与Sun有合作,另外当时Java是最火的语言,因此命名为Javascript。
####JavaScript可以做什么
- 操作浏览器对象
- 操作DOM树
- 通过XMLHttpRequest对象与服务器异步通信
- XML编程
- 与浏览器插件交互
####JavaScript不能做什么
为防止JavaScript被滥用,浏览器设计者会定义一个安全沙箱,限定JavaScript能实现的功能。
- 不能访问域名外的脚本和资源
- 不能操作客户端本地文件
- 只能操控由它自己打开的浏览器窗口
- 不能设定浏览器窗口尺寸过小或移动到屏幕外
####ECMAScript标准
因为不同的厂商实现的JavaScript的标准不同,因此很大程度上增加了开发人员的工作难度,因此在1997年由欧洲计算机协会(ECMA)指定了262标准,给出了ECMAScript脚本语言的定义。从此ECMAScript标准成为JavaScript的工业标准。
如果ECMAScript看做是一个接口的话,那么JavaScript、ActionScript等语言就是实现类。
####Web标准
Web标准不是某一个标准,而是一些列标准的集合。它针对网页的三个组成部分指定了一些列的标准,其中有机构化语言标准XHTML、XML,表现标准语言CSS、行为标准W3C DOM标准、ECMAScript等。
####如何在HTML中调用JavaScript
调用方式
在HTML文件中直接插入JavaScript
<!doctype html>
<html>
<head>
<title>Code inside an HTML document</title>
<script>
alert("Hello, world!");
</script>
</head>
<body>
</body>
</html>
外链接导入单独的JavaScript文件
<!doctype html>
<html>
<head>
<title>Code inside an HTML document</title>
<script src="hello.js"></script>
</head>
<body>
</body>
</html>
<script>
标签位置
<script>
标签可以在HTML的<head>
标签内使用,也可以在HTML的</body>
标签前使用。
两者的区别在于:在头部加载js文件情况下,如果此时DOM元素还没有加载完全,那么用到未加载的DOM元素的js代码将会报错。
解决这种问题的方式可以通过js代码在</body>
前加载,或者在document.onload方法中加载。
但是document.onload是在HTML中所有资源都请求结束后执行的,也就是说如果存在大量图片的情况下,会先向Server端发出加载图片的请求,所有图片加载结束后才会加载js文件,如果页面特效在js中实现的话,这段时间下页面的展现会受到影响。
所以通常情况下需要外链接的js文件都是在HTML的</body>
标签前定义的。