【一】JavaScript介绍
【1】什么是js
-
js也是一门编程语言,他可以写后端代码
【2】什么是node.js
-
前端由于非常受制于后端,所以有一些人异想天开想要通过js来编写后端代码一统江湖
-
由此开发了一个叫nodejs的工具(支持js跑在后端服务器上)
-
但是并不能完美的实现,有很多bug
【3】JavaScript和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】多行注释
/* 多行注释 多行注释 */
【三】JavaScript代码引入方式
【1】script标签内部可以直接写js代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript</title> <script>//(1)可以在这里写JS代码//</script> </head> <body> <script> //(2)可以在这里写JS代码// </script> </body> </html>
【2】script标签src属性引入外部js代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript</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】学习基础路线
-
变量
-
数据类型
-
流程控制
-
函数
-
对象
-
内置方法/模块