Skip to content
dandananddada edited this page Jul 23, 2015 · 2 revisions

####什么是JavaScript

JavaScript是一门解释型脚本语言,在Web开发中通常用它来增强网页与应用程序之间的交互。

####JavaScript和Java

JavaScript和Java在语言层面上没有什么关系

  1. Java是OOP的编程语言,而Javascript是一个OOP的脚本语言(脚本语言属于编程语言的一种)
  2. Java可以在虚拟机或浏览器运行,Javascript只能在浏览器运行

Javascript最早是由Netscape公司创造的,原名为Mocha,在1995年更名为LiveScript,同年9月更名为Javascript。

关于更名为Javascript有说因为当时Netscape与Sun有合作,另外当时Java是最火的语言,因此命名为Javascript。

####JavaScript可以做什么

  1. 操作浏览器对象
  2. 操作DOM树
  3. 通过XMLHttpRequest对象与服务器异步通信
  4. XML编程
  5. 与浏览器插件交互

####JavaScript不能做什么

为防止JavaScript被滥用,浏览器设计者会定义一个安全沙箱,限定JavaScript能实现的功能。

  1. 不能访问域名外的脚本和资源
  2. 不能操作客户端本地文件
  3. 只能操控由它自己打开的浏览器窗口
  4. 不能设定浏览器窗口尺寸过小或移动到屏幕外

####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>标签前定义的。