JavaScript

JavaScript

参考网站:https://www.liaoxuefeng.com/wiki/

1 、概述

1.1、前言

JavaScript是世界上最流行的脚本语言,因为你在电脑、手机、平板上浏览的所有的网页,以及无数基于
HTML5的手机App,交互逻辑都是由JavaScript驱动的。

简单地说,JavaScript是一种运行在浏览器中的解释型的编程语言。

那么问题来了,为什么我们要学JavaScript?尤其是当你已经掌握了某些其他编程语言如Java、C++的情
况下。

简单粗暴的回答就是:因为你没有选择。在Web世界里,只有JavaScript能跨平台、跨浏览器驱动网页,
与用户交互。

Flash背后的ActionScript曾经流行过一阵子,不过随着移动应用的兴起,没有人用Flash开发手机App,
所以它目前已经边缘化了。相反,随着HTML5在PC和移动端越来越流行,JavaScript变得更加重要了。
并且,新兴的Node.js把JavaScript引入到了服务器端,JavaScript已经变成了全能型选手。

JavaScript一度被认为是一种玩具编程语言,它有很多缺陷,所以不被大多数后端开发人员所重视。很多
人认为,写JavaScript代码很简单,并且JavaScript只是为了在网页上添加一点交互和动画效果。

但这是完全错误的理解。JavaScript确实很容易上手,但其精髓却不为大多数开发人员所熟知。编写高质
量的JavaScript代码更是难上加难。

一个合格的开发人员应该精通JavaScript和其他编程语言。如果你已经掌握了其他编程语言,或者你还什
么都不会,请立刻开始学习JavaScript,不要被Web时代所淘汰。

1.2、JavaScript历史

要了解JavaScript,我们首先要回顾一下JavaScript的诞生。

在上个世纪的 1995 年,当时的网景公司正凭借其Navigator浏览器成为Web时代开启时最著名的第一代
互联网公司。

由于网景公司希望能在静态HTML页面上添加一些动态效果,于是叫Brendan Eich这哥们在两周之内设
计出了JavaScript语言。你没看错,这哥们只用了 10 天时间。

为什么起名叫JavaScript?原因是当时Java语言非常红火,所以网景公司希望借Java的名气来推广,但事
实上JavaScript除了语法上有点像Java,其他部分基本上没啥关系。

1.3、ECMAScript

因为网景开发了JavaScript,一年后微软又模仿JavaScript开发了JScript,为了让JavaScript成为全球标
准,几个公司联合ECMA(European Computer Manufacturers Association)组织定制了JavaScript语
言的标准,被称为ECMAScript标准。

所以简单说来就是,ECMAScript是一种语言标准,而JavaScript是网景公司对ECMAScript标准的一种实
现。

那为什么不直接把JavaScript定为标准呢?因为JavaScript是网景的注册商标。

不过大多数时候,我们还是用JavaScript这个词。如果你遇到ECMAScript这个词,简单把它替换为
JavaScript就行了。

1.4、JavaScript版本

JavaScript语言是在 10 天时间内设计出来的,虽然语言的设计者水平非常NB,但谁也架不住“时间紧,任
务重”,所以,JavaScript有很多设计缺陷,我们后面会慢慢讲到。

此外,由于JavaScript的标准——ECMAScript在不断发展,最新版ECMAScript 6标准(简称ES6)已经
在 2015 年 6 月正式发布了,所以,讲到JavaScript的版本,实际上就是说它实现了ECMAScript标准的哪
个版本。

由于浏览器在发布时就确定了JavaScript的版本,加上很多用户还在使用IE6这种古老的浏览器,这就导
致你在写JavaScript的时候,要照顾一下老用户,不能一上来就用最新的ES6标准写,否则,老用户的浏
览器是无法运行新版本的JavaScript代码的。

不过,JavaScript的核心语法并没有多大变化。我们的教程会先讲JavaScript最核心的用法,然后,针对
ES6讲解新增特性。

1.5、引入JavaScript

JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到 head 中:

1
2
3
4
5
6
7
8
9
10
<html>
<head>
<script>
alert('Hello, world');
</script>
</head>
<body>
...
</body>
</html>

包含的代码就是JavaScript代码,它将直接被浏览器执行。

第二种方法是把JavaScript代码放到一个单独的.js文件,然后在HTML中通过 引入这个文件:

1
2
3
4
5
6
7
8
<html>
<head>
<script src="/static/js/abc.js"></script>
</head>
<body>
...
</body>
</html>

这样, /static/js/abc.js 就会被浏览器执行。

把JavaScript代码放入一个单独的 .js 文件中更利于维护代码,并且多个页面可以各自引用同一

份 .js 文件。

可以在同一个页面中引入多个 .js 文件

还可以在页面中多次编写 ,浏览器按照顺序依次执行。

有些时候你会看到