一、JavaScript简介
1.1 JavaScript介绍
JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”,指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序的“脚本”。
JavaScript 是一种嵌入式(embedded)语言。它本身提供的核心语法不算很多.
1.2 为什么学习 JavaScript
- 操控浏览器的能力
- 广泛的使用领域
- 易学性
1.3 JavaScript与ECMAScript的关系
ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。在日常场合,这两个词是可以互换的。
1.4 JavaScript版本
二、JavaScript语句、标识符、变量
2.1 语句
JavaScript 程序的单位是行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句.
var num = 10;
语句以分号结尾,一个分号就表示一个语句结束。
2.2 标识符
标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名
标识符是由:字母、美元符号($)、下划线(_)和数字组成,其中数字不能开头
温馨提示
中文是合法的标识符,可以用作变量名(不推荐)
2.3 JavaScript保留关键字
以下关键字不需要强行记忆!
JavaScript有一些保留字,不能用作标识符:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。
2.4 变量
var num = 10; num = 20;
2.4.1 变量提升
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。
console.log(num); var num = 10; // 结果是什么呢?undefined
相当于
var num; console.log(num); num = 10;
二、JavaScript引入到文件
2.1 嵌入到HTML文件中
<body> <script> var age = 20 </script> </body>
2.2 引入本地独立JS文件
<body> <script type="text/javascript" src="./web.js"> </script> </body>
2.3 引入网络来源文件
<body> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"> </script> </body>
三、JavaScript注释与常见输出方式
3.1 JavaScript注释
源码中注释是不被引擎所解释的,它的作用是对代码进行解释。Javascript 提供两种注释的写法:一种是单行注释,用//起头;另一种是多行注释,放在/和/之间。
// 这是单行注释 /* 这是 多行 注释 */
嵌入在HTML文件中的注释
<!-- 注释 -->
温馨提示
注释的快捷键:
ctrl + /
3.2 JavaScript输出方式
JavaScript有很多种输出方式,都可以让我们更直观的看到程序运行的结果.
// 在浏览器中弹出一个对话框,然后把要输出的内容展示出来,alert都是把要输出的内容首先转换为字符串然后在输出的 alert("要输出的内容"); document.write("要输出的内容"); // 在控制台输出内容 console.log("要输出的内容");
四、数据类型
JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值和第八种 BigInt类型)
4.1 原始类型(基础类型)
var age = 20; var name = "好好学习"; var learn = true;
4.2 合成类型(复合类型)
对象:因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器.
var user = { name:"好好学习", age:20, learn:true }
温馨提示
至于undefined和null,一般将它们看成两个特殊值。
五、typeof运算符
JavaScript 有三种方法,可以确定一个值到底是什么类型。而我们现在需要接触到的就是typeof
数值返回number
typeof 123 // "number"
字符串返回string
typeof '123' // "string"
布尔值返回boolean
typeof false // "boolean"
对象返回object
typeof {} // "object"
unll和undefined的区别
null与undefined都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。既然含义与用法都差不多,为什么要同时设置两个这样的值,这不是无端增加复杂度,令初学者困扰吗?这与历史原因有关