文章目录
- 一. 变量
- 1. 变量概述
- 1.1 什么是变量
- 1.2 变量在内存中的存储
- 2. 变量的使用
- 2.1 声明变量
- 2.2 赋值
- 2.3 变量的初始化
- 3. 变量语法扩展
- 3.1 更新变量
- 3.2 同时声明多个变量
- 3.3 声明变量特殊情况
- 4. 变量命名规范
- 二. 数据类型
- 1. 数据类型简介
- 1.1 为什么需要数据类型
- 1.2 变量的数据类型
- 1.3 数据类型的分类
- 2. 简单数据类型(基本数据类型)
- 2.1 数字型 Number
- 2.2 字符串型 String
- 2.3 布尔型 Boolean
- 2.4 Undefined 和 Null
- 3. 获取变量数据类型
- 3.1 获取检测变量的数据类型
- 3.2 字面量
- 4. 数据类型转换
- 4.1 什么是数据类型转换
- 4.2 转换为字符串
- 4.3 转换为数字型(重点)
- 4.4 转换为布尔型
- 三. 扩展阅读
- 1. 解释型语言和编译型语言
- 1.1 概述
- 1.2 执行过程
- 2. 标识符、关键字、保留字
- 2.1 标识符
- 2.2 关键字
- 2.3 保留字
- 四. JavaScript 运算符
- 1. 运算符
- 2. 算数运算符
- 2.1 算术运算符概述
- 2.2 浮点数的精度问题
- 2.3 表达式和返回值
- 3. 递增和递减运算符
- 3.1 递增和递减运算符概述
- 3.2 递增运算符
- 4. 比较运算符
- 4.1 比较运算符概述
- 4.2 =小结
- 5. 逻辑运算符
- 5.1 逻辑运算符概述
- 5.2 逻辑与&&
- 5.3 逻辑或 ||
- 5.4 逻辑非 !
- 5.5 短路运算(逻辑中断)
- 6. 赋值运算符
- 7. 运算符优先级
一. 变量
1. 变量概述
1.1 什么是变量
1.2 变量在内存中的存储
本质:变量是程序在内存中申请的一块用来存放数据的空间。
- 类似我们酒店的房间,一个房间就可以看做是一个变量。
2. 变量的使用
变量在使用时分为两步: 1. 声明变量 2. 赋值
2.1 声明变量
- var 是一个 JS关键字,用来声明变量( variable 变量的意思 )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管
- age 是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间
2.2 赋值
- = 用来把右边的值赋给左边的变量空间中 此处代表赋值的意思
- 变量值是程序员保存到变量空间里的值
2.3 变量的初始化
声明一个变量并赋值, 我们称之为变量的初始化。
3. 变量语法扩展
3.1 更新变量
一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。
3.2 同时声明多个变量
同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开
3.3 声明变量特殊情况
4. 变量命名规范
二. 数据类型
1. 数据类型简介
1.1 为什么需要数据类型
在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
- 简单来说,数据类型就是数据的类别型号。比如姓名“张三”,年龄18,这些数据的类型是不一样的。
1.2 变量的数据类型
1.3 数据类型的分类
JS 把数据类型分为两类:
- 简单数据类型 (Number,String,Boolean,Undefined,Null)
- 复杂数据类型 (object)
2. 简单数据类型(基本数据类型)
2.1 数字型 Number
JavaScript 数字类型既可以用来保存整数值,也可以保存小数(浮点数)。
1、数字型进制
2、数字型范围
3、数字型三个特殊值
4、isNaN()
2.2 字符串型 String
字符串型可以是引号中的任意文本,其语法为 双引号 “” 和 单引号’
1、字符串引号嵌套
2、字符串转义符
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。
- 转义符都是 \ 开头的,常用的转义符及其说明如
3、字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的 length 属性可以获取整个字符串的长度。
4、字符串拼接
- 多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串
- 拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
5、字符串拼接加强
2.3 布尔型 Boolean
布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
- 布尔型和数字型相加的时候, true 的值为 1 ,false 的值为
2.4 Undefined 和 Null
3. 获取变量数据类型
3.1 获取检测变量的数据类型
typeof 可用来获取检测变量的数据类型
不同类型的返回值
3.2 字面量
字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值。
- 数字字面量:8, 9, 10
- 字符串字面量:‘黑马程序员’, “大前端”
- 布尔字面量:true,false
4. 数据类型转换
4.1 什么是数据类型转换
使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型。
我们通常会实现3种方式的转换:
- 转换为字符串类型
- 转换为数字型
- 转换为布尔型
4.2 转换为字符串
- toString() 和 String() 使用方式不一样。
- 三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式, 这一种方式也称之为隐式转换
4.3 转换为数字型(重点)
- 注意 parseInt 和 parseFloat 单词的大小写,这2个是重点
- 隐式转换是我们在进行算数运算的时候,JS 自动转换了数据类型
4.4 转换为布尔型
三. 扩展阅读
1. 解释型语言和编译型语言
1.1 概述
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。
1.2 执行过程
2. 标识符、关键字、保留字
2.1 标识符
标识(zhi)符:就是指开发人员为变量、属性、函数、参数取的名字。
标识符不能是关键字或保留字
2.2 关键字
关键字:是指 JS本身已经使用了的字,不能再用它们充当变量名、方法名。
- 包括:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with 等
2.3 保留字
保留字:实际上就是预留的“关键字”,意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。
- 包括:boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile 等
注意:如果将保留字用作变量名或函数名,那么除非将来的浏览器实现了该保留字,否则很可能收不到任何错误消息。当浏览器将其实现后,该单词将被看做关键字,如此将出现关键字错误。
四. JavaScript 运算符
1. 运算符
运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号
2. 算数运算符
2.1 算术运算符概述
概念:算术运算使用的符号,用于执行两个变量或值的算术运算
2.2 浮点数的精度问题
浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数。
2.3 表达式和返回值
表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合
- 简单理解:是由数字、运算符、变量等组成的式子
表达式最终都会有一个结果,返回给我们,我们成为返回值
3. 递增和递减运算符
3.1 递增和递减运算符概述
3.2 递增运算符
4. 比较运算符
4.1 比较运算符概述
概念:比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。
4.2 =小结
5. 逻辑运算符
5.1 逻辑运算符概述
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断
5.2 逻辑与&&
两边都是 true才返回 true,否则返回 false
5.3 逻辑或 ||
两边都为 false 才返回 false,否则都为true
5.4 逻辑非 !
逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 false
5.5 短路运算(逻辑中断)
短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值
6. 赋值运算符
概念:用来把数据赋值给变量的运算符
7. 运算符优先级
- 一元运算符里面的逻辑非优先级很高
- 逻辑与比逻辑或优先级高