【一】JavaScript介绍
【1】什么是js
- js也是一门编程语言,他可以写后端代码
【2】什么是node.js
- 前端由于非常受制于后端,所以有一些人异想天开想要通过js来编写后端代码一统江湖
- 由此开发了一个叫nodejs的工具(支持js跑在后端服务器上)
- 但是并不能完美的实现
【3】JavaScript和JAVA的关系
- JavaScript和Java一毛钱关系都没有,纯粹是为了蹭Java的热度
【4】JS是不完善的语言
-
JS最初由一个程序员花了七天时间开发的 里面存在很多bug
-
为了解决这些bug一直在编写相应的补丁
-
补丁本身又有bug
-
最后导致了js中有很多不符合逻辑的地方(成了大家墨守成规的东西)
【5】JavaScript与ECMAScript的关系
(1)历史
- 1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。
- 次年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版。
(2)ECMAScript为什么不叫JavaScript
- 该标准(ECMAScript)从一开始就是针对 JavaScript 语言制定的,但是之所以不叫 JavaScript,有两个原因。
- 一是商标,Java 是 Sun 公司的商标,根据授权协议,只有 Netscape 公司可以合法地使用 JavaScript 这个名字,且 JavaScript 本身也已经被 Netscape 公司注册为商标。
- 二是想体现这门语言的制定者是 ECMA,不是 Netscape,这样有利于保证这门语言的开放性和中立性。
(3)总结
- ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。
- 日常场合,这两个词是可以互换的。
【6】ES语言的版本
- ECMAScript已经发布了六个主要版本:ECMAScript 1、ECMAScript 2、ECMAScript 3、ECMAScript 5、ECMAScript 6(也称为ES6或ES2015)以及最新的ECMAScript 2017
【7】ES6 与 ECMAScript 2015 的关系
(1)起因
- 2011 年,ECMAScript 5.1 版发布后,就开始制定 6.0 版了。
- 因此,ES6 这个词的原意,就是指 JavaScript 语言的下一个版本。
(2)变故
- 但是,因为这个版本引入的语法功能太多,而且制定过程当中,还有很多组织和个人不断提交新功能。
- 事情很快就变得清楚了,不可能在一个版本里面包括所有将要引入的功能。
- 常规的做法是先发布 6.0 版,过一段时间再发 6.1 版,然后是 6.2 版、6.3 版等等。
(3)突发奇想
- 但是,标准的制定者不想这样做。
- 他们想让标准的升级成为常规流程:任何人在任何时候,都可以向标准委员会提交新语法的提案,然后标准委员会每个月开一次会,评估这些提案是否可以接受,需要哪些改进。
- 如果经过多次会议以后,一个提案足够成熟了,就可以正式进入标准了。
- 这就是说,标准的版本升级成为了一个不断滚动的流程,每个月都会有变动。
(4)标准委员会
- 标准委员会最终决定,标准在每年的 6 月份正式发布一次,作为当年的正式版本。
- 接下来的时间,就在这个版本的基础上做改动,直到下一年的 6 月份,草案就自然变成了新一年的版本。
- 这样一来,就不需要以前的版本号了,只要用年份标记就可以了。
(5)ES6诞生
- ES6 的第一个版本,就这样在 2015 年 6 月发布了,正式名称就是《ECMAScript 2015 标准》(简称 ES2015)。
- 2016 年 6 月,小幅修订的《ECMAScript 2016 标准》(简称 ES2016)如期发布,这个版本可以看作是 ES6.1 版,因为两者的差异非常小(只新增了数组实例的
includes
方法和指数运算符),基本上是同一个标准。根据计划,2017 年 6 月发布 ES2017 标准。
(6)总结
- 因此,ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。
- 提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。
【8】总结
- JS是由ECMAScript、DOM、BOM组成
- JS是运行在浏览器脚本的语言
【二】注释语法
【1】单行注释
// 单行注释
【2】多行注释
/*
多行注释
多行注释
*/
【三】引入方式
【1】script标签内部直接书写js代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>// 可以在这里写JS代码</script>
</head>
<body>
</body>
<script>
<!-- 可以在这里写JS代码 -->
</script>
</html>
【2】script标签src属性引入外部js代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="外部JS代码位置"></script>
</head>
<body>
</body>
</html>
【四】语法结构
- js是以分号座位语句的结束
- 但是如果不写分号,问题不大能正常运行,但是是相当于没有结束符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
// 正确代码书写过程中应该带有 ; 结尾
// 但是没有 ; 号 并不会影响程序运行
console.log("Hello World!");
</script>
</html>
【五】如何学习JS
【1】JS书写位置
- pycharm提供的js文件
- 浏览器提供的js环境(学习阶段推荐)
【2】JS学习路线
- 变量
- 数据类型
- 流程控制
- 函数
- 对象
- 内置方法/模块