001-基础语法
1. 变量与常量
- 变量由字母,数字,下划线,$组成,第一个字母必须是:字母,下划线或 $
- 不能使用关键字和保留字
- 保留字:javascript还没使用但可能会使用的名字
- 常量:一般全部大写
- 变量和常量会在ES6进一步区分
2. 数据类型
- 五种基本数据类型
- 数字
- 字符串
- 布尔
- 未定义值
- 空值
- 两种引用数据类型
- 数组
- 对象
数据类型总结
基本数据类型 | 特点 |
---|---|
Number | 数字:整型,浮点型,NaN, Infinity |
String | 字符串: |
Boolean | 布尔值:true, false |
undefined | 未定义:变量未赋值,函数无返回值 |
null | 空值: |
BigInt | 大整数 |
Symbol | 符号 |
引用数据类型 | 特点 |
---|---|
Array | 数组 |
Object | 对象 |
Function | 函数 |
Date | 日期 |
RexExp | 正则表达式 |
Error | 错误对象 |
值传递与引用传递的区别
let a = 10;
let b = a; // b 是 a 的副本
b = 20; // b 改变了,但 a 不受影响,a 仍然是 10
let arr1 = [1, 2, 3];
let arr2 = arr1; // arr2 是 arr1 的引用
arr2[0] = 99; // 修改 arr2 也会影响 arr1
console.log(arr1[0]); // 输出 99,arr1 被修改了
Number
- 不区分
int
float
- 特殊: 非数字(
NaN
)- 出现场景:
- 数学运算非法:除数为0等
- 转化为数字失败:
Number("abc")
typeof(NaN)
返回Number
- 出现场景:
- 不区分
String
- 都使用单引号或双引号
- 单引号可以包含双引号,反之亦然
boolean
- 只有两个值
true
真false
假
undefined
- 凡是声明了但没有赋值的变量,值都是undefined。
null
null
- 如果一个变量的值等于
null
,则表示系统没有给这个变量分配内存空间
类型转换(基本类型之间)
- 转换方式
- 隐式转换
- 显示转换
String to Number
方法 | 要求 | 异常结果 |
---|---|---|
Number() |
纯数字字符串->数字 | 包含非数字字符->返回NaN |
parseInt() |
数字、加号、减号开头,提取整数部分 | 非数字字符开头->返回NaN |
parseFloat() |
数字、加号、减号开头,提取整数+小数部分,包括小数点 | 非数字字符开头->返回NaN |
Number to string
方法 | 要求 | 处理方式 | 特点 |
---|---|---|---|
与空字符串相加 | 任何类型 | 内建规则+toString() |
对象转换为"[object Object]" |
toString() |
引用类型(null和undefined用会报错) | toString() | 基本类型使用会抛出错误 |
String() |
任何类型 | 内建规则+toString() |
通用 |