- JavaScript简介
- JavaScript语句、标识符
- 变量
- JavaScript 引入到文件
- JavaScript 注释与常见输出方式
- 数据类型与typeof运算符
- 基本运算符
1. JavaScript 简介
JavaScript是一种轻量级的脚本语言。所谓“脚本语言”,指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序的“脚本”。JavaScript是一种嵌入式语言,它本身提供的核心语法不算很多。
学习JavaScript的原因:
- 操控浏览器的能力
- 广泛的使用领域 前端、后端、小程序等
- 易学性
ECMAScript 和 JavaScript 的关系是:前者是后者的规格,后者是前者的一种实现,可互换
2009年12月发布ECMAScript 5.0版本,2015年6月正式发布ECMAScript6.0
2. JavaScript 语句、标识符
- 语句:JS程序的单位是行,一般情况下,每一行是一个语句
var num = 10;
- 标识符:用来识别各种值的合法名称。最常见的标识符就是变量名。标识符由字母、$、下划线和数字组成,不能以数字开头。保留关键字不能用作标识符。
3. 变量
- 变量重新赋值
var num = 10;
num = 20;
- 变量提升
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行行运行。这样的结果是所有的变量声明语句,都会被提升到代码的头部,就叫做变量提升。
注:先打印后声明赋值,实际执行会将声明提升到头部,但赋值不会,因此显示undefined
4. JavaScript 引入到文件
- 嵌入到HTML文件中
<body>
<script>
var age = 20;
</script>
</body>
- 引入本地独立JS文件
<body>
<script type="text/javascript" src="./index.js"> </script>
</body>
- 引入网络来源文件
<body>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.map"></script>
</body>
5. JavaScript 注释与常见输出方式
5.1 JavaScript注释 ctrl + /
源码中注释是不被引擎所解释的,它的作用是对代码进行解释。JS提供两种注释写法:单行注释,用 // 开头;多行注释,放在 / 和 /之间。
//单行注释
/*
多行注释
*/
嵌入在HTML文件中的注释:
<!-- 注释 -->
5.2 JavaScript输出方式
// 在浏览器中弹出一个对话框,把要输出的内容展示出来,alter 都是把要输出的内容转换为 字符串然后再输出的
alter("要输出的内容");
document.write("要输出的内容");
// 在控制台输出
console.log("要输出的内容");
6. 数据类型与typeof运算符
JS语言的每个值都属于某一种数据类型。JavaScript的数据类型,共有六种。ES6又新增了第七种Symbol类型的值和第八种Bigint类型,暂不涉及。
6.1 基本数据类型(原始类型)
var age = 20; // 数值
var name = "张三"; // 字符串:被双引号或单引号包裹的值
var learn = true; // 布尔值
6.2 合成类型(复合类型object)
对象:因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。
var user = {
name:"张三",
age:20,
learn:true
}
- undefined 和 null ,一般被看成两个特殊值
6.3. typeof运算符
JS有三种方法,可以确定一个值的类型。typeof是其中的一种。
typeof 123 // 数值返回 number
typeof '123' // 字符串返回 string
typeof false // 布尔值返回 boolean typeof 常用于判断基本数据类型
typeof {} // 对象返回 object 因为有很多会返回object,因此判断复合类型不准确
null 和 undefined 的区别:
null 和 undefined 都可以表示没有,含义相似。将一个变量赋值为 undefined 或 null,语法效果几乎没有区别。null 一般代表对象为空;undefined 一般代表数值为空。
7. 基本运算符
7.1 算数运算符
- 加减乘除运算符:+ - * /
- 余数运算符:%
- 自增自减运算符:++y、y++、--y、y--
7.2 赋值运算符
运算符 | 表达式 |
= | 赋值运算符 |
+= | x += y 等同于 x = x + y |
-= | x -= y 等同于 x = x - y |
*= | x *= y 等同于 x = x * y |
/= | x /= y 等同于 x = x / y |
%= | x %= y 等同于 x = x % y |
7.3 比较运算符
运算符 | 表达式 |
< | 小于 |
> | 大于 |
<= | 小于或等于 |
>= | 大于或等于 |
== | 相等(数值) |
=== | 严格相等(数值+类型) |
!= | 不相等(数值) |
!== | 严格不相等(数值+类型) |
var num1 = 10;
var num2 = "10";
console.log(num1 == num2); // true
// === 严格比较:数值本身是否相同,类型本身是否相同
console.log(num1 === num2); //false
7.4 布尔运算符
- 取反运算符 !
// 布尔值直接取反
// 非布尔值,取反运算符会将其转为布尔值。以下六个值取反后为true,其他值都为false
!undefined // true
!null // true
!0 // true
!false // true
!NaN // true
!"" // 空字符串取反为 true
- 且运算符 &&
console.log(10 < 20 && 10 > 5); // true 任何一个不满足皆为false
- 或运算符 ||
console.log(10 < 20 || 10 < 5); // true 满足一个即为true