目录
1 js的数据类型有两种:基本数据类型和引用数据类型(重点)
18 定时器分为两种:setTimeout和setInterval
22 本地存储 本地存储:localStorage 和 sessionStorage
1 js的数据类型有两种:基本数据类型和引用数据类型(重点)
基础数据类型:String(字符串)、Number(数字)、boolean(布尔值)、null(空)、undefined(未定义)
引用/复杂数据类型:Object(对象)、function(函数)、Array(数组)
五种基本数据类型 和 一种引用/复杂数据类型
a> Number 数值
- 正数 负数
浮点数 整数
b> String 字符串
- 当一个数据是被 单引号 或者 双引号 或者 反引号 包裹起来的 那么这个数据就是字符串
c> Boolean 布尔
- 表示真与假 true 真 false 假
d> null 空
- 表示空指针 位置存在但没有内容
- 使用typeof 无法检测 得到的结果是 object
e> undefined 未定义
- 创建变量但没有赋值
- 创建变量赋值为undefined
f> Object 对象
- 使用 {} 创建对象
2 如何判断数据类型:
a> typeof操作符(重点)
- 检测的结果 没有null 但是可以检测function函数
- 优点:优点:能快速检查undefined,string,number,boolean类型
- 缺点:当类型为object,null,array时都会返回object,所以不能区分这三类
b> instanceof操作符
- 优点:能检测array,function,object类型
- 缺点:检测不了number,boolean,string
c> 对象的constructor属性
- 缺点:undefined和null是不能够判断出类型的,并且会报错。因为null和undefined是无效的对象,因此是不会有constructor存在的
d> Object.protoType.toString.call()
3 类型的转换
a> 其他类型转换为string类型
变量名.toString()、String(变量名)、'' + 变量名
支持转换的类型:String、Number、Boolean、Object
不支持转换的类型:null、undefined
b> 其他类型转换为number类型
- Number()方法 任何类型值都可以转换成number类型,但是需要整体进行转换,如果无法转换成正常数值。则变成NaN
- number 类型下有一个特殊的值 叫 NaN 表示非数值
- 任何有NaN参与的运算,得到的结果都是NaN
- NaN与任何值都不相等,包括它本身
- 任何有NaN参与的比较,得到的都是false
- 可以使用isNaN()进行判断
- 专门针对于字符串转数值类型
- parseInt() 转化成整数
- parseFloat() 转换成小数
- 需要记住的转换成number类型的特殊值:
-
true ====> 1
- false ====> 0
- null ====> 0
- undefined ====> NaN
- "" ====> 0
- " " ====> 0
- [] ====> 0
c> 其他类型转换成boolean类型 (重点)
其他类型转换成布尔类型值为false的有哪些
- undefined
- null
- 0
- NaN
- ""
- false
4 算数运算符(能参与运算的一些特殊符号)
+、-、*、/、%、++、--
* ++i 前置++ 表示先自增+1 然后再赋值运算
* i++ 后置++ 表示先赋值运算 然后自增+1
5 赋值运算符
=、+=、-=、*=、/=、%=
6 比较/关系运算符(只要比较的两个值中有一个不是字符串,则都会转换为数值进行比较)
==、===、!=、!==、>、<、<=、>=、?
* == 相等 不考虑数据类型,转换的值结果相同则相等 null 与 undefined 不会类型转换 它们两者之间相等比较是true 与其它任何值相等比较都是false
* != 不相等
* === 全等 优先考虑数据类型 类型不一致则不全等,类型一致再考虑值是否相同
* !== 不全等
7 逻辑运算符(重点)
&&、||、!
8 三种系统弹窗
* 弹出提示框 alert()
* 输入弹出框 prompt()
* 可以给两个值,中间用逗号隔开 ,第一个值表示给用户的提示内容,第二个值表示输入框中的默认值
* 可以使用一个变量来接收弹出框,点击取消得到的结果是 null 点击确定得到输入的内容
* 确认弹出框 confirm()
* 可以输入一个值,用于给用户的提示
* 点击确定 得到 true 点击取消 得到 false
9 条件判断语句
a> js 在判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句,
布尔值
true 真
false 伪
这里的布尔值,并不是寻常意义的布尔值,这里的布尔值往往由一个条件表达式产生,必须放在圆括号内,表示对表达式求值
if(布尔值){
执行语句
}
双分支(既然有成功判断,就有失败)
if(布尔值){
console.log("满足条件")
}else{
console.log("不满足条件")
}
多条件判断(如果说,有多个条件进行判断)
else if(){
}
b> 复合条件表达式判断
|| 或 两者其中一项满足
&& 与 两者都满足
if( 条件一 || 条件二){
}
if(条件1 && 条件2){
}
c> 嵌套条件判断
if(条件1){
if(条件2){
条件1与条件2都成立时,执行操作
}else{
条件1成立但是条件2不成立时执行操作
}
}else{
条件1不成立时执行操作
}