数据类型(基本数据类型/复杂数据类型)
- 基本数据类型和复杂数据类型的区别:
- 保存的个数不同:
- 内存保存:基本数据类型在内存单元中保存的是值
复杂数据类型内存单元中保存的是地址
- 复制操作: 浅拷贝,基本数据类型
- 基本数据类型
- string
- 标识方式:” 成对的英文半角的单引号或双引号
- 转义符的使用:\n \t …
- 类型转换方式
- 强制转换:string()/tostring()
- 隐式转换:字符串拼接 +
- number
- 值:固定值/小数
- 小数的问题:parseFloat()/parseInt()
- 特殊值:NaN(true/false)
- 转换方式:
- 强制转换:number()
- 隐式转换:取正或取负 + -
- boolean
- 转换方式:boolean()
- 转换结果(为false值): false NaN 0 ” null undefined
- undefined
- 出现场景:未命名的变量
- null
- 类型检测方式:Object.prototype.toString.call()
- 基本数据类型的类型检测方式:typeof
- 复杂数据类型
- 对象object(广义的)
- 根据功能,对象又划分为多个类型
- Math:
Math.PI圆周率
Math.ceil向上取整
Math.floor向下取整
Math.round四舍五入
Math.random随机数
- Date:
Date.getFullYear()
Date.getMonths()
Date.getDays()
Date.getDate()
Date.getHours()
Date.getMinutes()
Date.getSeconds()
Date.getMillSeconds()
- Array:
- 声明方式:
- var arr = new Array();
- var arr[];
- 索引:0~~arr.length-1
- 长度属性:arr.length
- 遍历操作:for循环
- 方法:
pop() push()
unshift() shift()
concat() slice() splice()
indexOf()获取某个指定元素的位置 sort() reverse()
- 转换成字符串方法: toString() join()
- String:
- 基本包装类型对象:
- 方法:concat() slice() substr() substring() toUpper()toLower()
split() replace()
- Function:(函数本质上也是对象,也会具有属性和方法,是js高级部分的内容)
- 声明方式:function 函数名() { 函数体 }
- 参数:
- 使用场景:当一个函数中的某些值不确定时, 可以设置的参数
- 分类:形参 实参
- 返回值:
- 使用场景:函数中的变量在函数外无法访问,导致函数计算的结果无法获取
- return的其他作用:1.设置函数返回值 2.结束函数
- 作用域:
- 分类:全局变量 局部变量
- 作用域链(访问规则):向上查找
- 预解析:
- 发生的时机:每个作用域开启之前都会发生预解析操作
- 执行的操作:
- 变量提升:变量声明提升到当前作用域顶端, 赋值保留在原位置
- 函数提升:函数声明提升到当前作用域顶端, 函数调用保留在原位置
- Object:(狭义的对象)
- 声明方式:var obj = new Object();
- 属性和方法的操作:
- 对象.属性名
- 对象['属性名']
- 构造函数:
- 书写形式:function CreatObject(){}
- new的作用:构建对象
- this的使用方式:
- 普通函数中:window对象
- 方法中:指当前函数(调用者)
- 构造函数中:new调用时将构造函数内部的this修改为了创建的对象。
- 遍历操作:
- for..in:对象是一种无序的数据存储方式。
运算符(操作符):
- 一元运算符 ++ -- !
- 算数运算符 + - * / %
- 比较运算符 < <= > >=
- 普通比较:== !=
- 相等全等:=== !==
- 逻辑运算符:
- 普通使用方式:&& || !
- 特殊使用方式(短路操作):
- 三元运算符:? :
- 赋值运算符:=
- 运算符优先级:同上
语句:
- 流程控制:
- 顺序结构 从上而下
- 分支结构
- if
- 语法形式:if/if-elae/if if-else else
- 三种使用形式:
if () {}
if () {} else {}
if () {} else if {} else {}
- switch
- 语法形式:switch-case
- 规则:全等比较
- 特殊使用方式:范围比较操作
- 循环结构
- for: for( ; ; )
- while: while () {}
- do..while: do {} while ()
- 三种循环的使用场景:
- for: 已知循环次数
- while: 不知循环次数
- do..while: while的简化
- break和continue
- break:破坏循环
- continue: 结束当前循环