1.基础复习
串讲
- 变量
- 变量的作用,语法,命名规则
- var:可以定义变量,但是会有变量名提升,没有作用域的概念
- let:没有变量名提升,,要先定义后使用,有作用域的概念
- const:定义常量(一旦定义赋值之后就不能再修改的变量:以后模块中的成员一般都是const)
- 数据类型
- 基本数据类型
- 也叫值类型
- Number String,Boolean,undefined,null
- 复杂数据类型
- 也叫引用类型,它的本质是一个地址空间
- 函数,数组,对象
- 引用类型的空,一般设置为nul
- 基本数据类型
- 类型转换
- 转换成字符串
- toString()
- "" +
- 转换成数字
- parseInt():转换,直到碰到非数值,如果第一个就是非数值,就返回NaN
- Number():只要有非数值字符串,就返回NaN
- -0
- 转换成布尔值
- js中的false:0,'',"",null,undefined,NaN
- Boolean(需要转换的变量)
- 转换成字符串
- 运算符:获取bool值
- 算术运算符:+ - * / %
- 赋值运算符:=
- 比较运算符:
- > < >= <= == != ===
- ==:值要相等,它会将字符串转换为数值
- ===:值和类型也要相等
- 逻辑运算符:!&& ||
- 自增自减运算符: ++ --
- 写在前面:先执行,再使用
- 写在后面:先使用再执行
- 运算符的优先级:()
- 流程控制语句
- 顺序结构
- 分支结构:if-else
- 循环结构:for , forEach(function(value,index){})
- 数组
- 创建数组的两种方式
- let arr = [ ] --语法糖
- let arr = new Array(...)
- 下标和长度
- 只有一个属性:length
- 取值和存值
- 通过索引
- 如果发现操作的数据类型是数组,那么找索引
- api
- 增加:push unshift
- 删除:splice(index,length)
- 修改:arr[i] = ''
- 查询(获取): arr[i]
- 创建数组的两种方式
- 函数
- 声明和调用
- 形参和实参
- 数量对应
- 顺序对应
- 类型对应
- 返回值
- 如果方法没有返回值,默认会返回undefined
- 通过return返回值
- 一个函数中只能有一个return被执行
- return只能返回一个变量,返回对象更常用
- 对象
- 创建对象的方式:{}
- 属性和方法:特征和行为
- 存值和取值
- 通过key进行值的存储和获取
- obj[key]:如果key是变量,则只能使用[]方式操作
- obj.key
- 赋值:
- 如果key已经存在,就是修改
- 如果key不存在则是添加--动态特征
- 通过key进行值的存储和获取
- 对象的遍历
- for..in >> for(let key in obj) {}
- 内置对象
- Math
- 静态类型
- 通过Math构造函数直接调用里面的成员
- 常见:floor ceil random abs
- Array
- Date
- new Date():获取当前日期
- Date.now():获取当前日期离默认日期的毫秒值
- String
- Math
typeof
关键字
typeof
操作符返回一个字符串,返回的是操作数的类型
-
typeof 基本类型
返回的是字符串值- 字符串 》》 string
- bool 》》boolean
- 数值 》》number
-
typeof 对象
返回的是object
-
typeof 函数
返回的是function -
typeof null
返回的object - typeof undefined:返回undefined
- typeof 数组:返回object
逻辑中断
&&:从左到右的顺序进行判断,如果发现某个操作数的逻辑判断是false,那么就不用继续判断了。
||:从左到右的顺序进行判断,如果发现某个操作数的逻辑是true,那么就不用继续判断了。
function fn (n1, n2) {
n1 = n1 || 0
n2 = n2 || 0
console.log(n1 + n2)
}