JavaScript 是一种具有函数优先特性的轻量级、解释型( 无需手动编译,运行时边解释边执行 )的编程语言,它是运行在 Web浏览器中的一种脚本语言,当然,也还可被运行在一些非浏览器环境中,如:Node.js

进一步说,JavaScript 是一种基于原型、多范式、单线程的动态类型语言( 无需指定类型,运行时确定类型 ),并且支持面向对象、命令式和声明式( 如函数式编程 )风格

历史

  • JavaScript 最初由 Netscape( 网景公司 )的一位工程师,名叫( Brendan Eich )设计的,起初命名为 LiveScript,后来由于 Netscape公司在与 Sun公司合作之后将其改名为 JavaScript
  • JavaScript 最初受 Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自 Java。但 JavaScript 的主要设计原则源自 Self 和 Scheme。JavaScript 与 Java名称上的近似,是当时 Netscape 为了营销考虑与 Sun微系统达成协议的结果。为了取得技术优势,微软推出了 JScript 来迎战 JavaScript 的脚本语言

三大公司

  • 后来,为了互用性,Netscape 公司将 JavaScript 提交给欧洲计算机制造商协会( ECMA ),制定了 ECMA-262标准(ECMAScript)
  • 发展初期,JavaScript 的标准并未确定,同期有 Netscape 的 JavaScript,微软的 JScript 和 CEnvi 的 ScriptEase 三足鼎立。1997年,在ECMA(欧洲计算机制造商协会)的协调下,由 Netscape、Sun、微软、Borland 组成的工作组确定统一标准:ECMA-262

时间表

年份事件
1995网景公司开发了 JavaScript 语言
1996微软发布了和 JavaScript 兼容的 JScript
1997ECMAScript 1.0 版(ECMA-262)发布
1998ECMAScript 2.0 版 发布
1998DOM Level1 的制定
1998新技术 DHTML 登场
1999ECMAScript 3.0 版 发布
2000DOM Level2 的制定
2002ISO/IEC 16262:2002 的确立
2004DOM Level3 的制定
2005新技术 AJAX 登场
2009ECMAScript 5.0 版 发布
2009新技术 HTML5 登场
2011ISO/IEC 16262:2011 的确立
2013ECMAScript 6.0 版 发布

实现

ECMAScript 是一个标准而这个标准需要由各个浏览器厂商去实现

不同浏览器厂商对该标准有不同的实现

浏览器JavaScript 引擎( 实现 )
FireFoxSpiderMonkey
Internet ExplorerJScript/Chakra
SafariJavaScriptCore
ChromeV8
OperaCarakan

组成

ECMAScript 是 JavaScript的标准,所以一般情况下这两个词我们认为是一个意思,但实际上 JavaScript 的含义却要更大一些。一个完整的浏览器 JavaScript 实现由以下三部分组成:

  • ECMAScript(描述了该语言的语法和基本对象)
  • 文档对象模型(DOM)描述处理网页内容的方法和接口
  • 浏览器对象模型(BOM)描述与浏览器进行交互的方法和接口

代码编写位置

1、内部JS代码

直接将 js 代码写在<script></script>标签内,浏览器检索到<script>标签时会自动调用 JavaScript引擎 来执行 js 代码

例:

1
2
3
4
<script type="text/javascript">
//第一个Js程序
console.log("Hello World");
</script>

属性:

  • type:默认值text/javascript可省略,默认还是这个值

2、外部JS代码

例:

1
2
3
<!-- hello.html -->
<script src="./hello.js"></script>
<!-- 通过<script>标签的src属性来引入外部js文件 -->
1
2
3
4
5
/*
hello.js
*/
console.log("Hello World");
//在外部js文件编写js代码
  • //.. 行注释
  • /* ..注释内容.. */ 块注释
  • 注释的内容则会被 js引擎 忽略不执行