1、检测数据类型

+ 再运算的过程中, 有的数据不是我们自己写的
+ 有可能是通过运算得到的, 有可能是别人给的
+ 为了保证程序的正确运行, 我们需要检测数据变量

关键字 typeof
+ 两种用法
1. typeof 变量
=> 语法: typeof 要检测的变量
=> 返回值(结果): 以字符串的形式给你的变量数据类型
2. typeof(变量)
=> 语法: typeof(要检测的变量)
=> 返回值: 以字符串的形式给你变量的数据类型

+ 两种语法的区别
1. typeof 只能检测紧跟着的一个变量
2. typeof() 先运算小括号里面的结果, 然后使用 typeof 去检测结果的数据类型

+ typeof 的返回值
=> 注意: typeof 的返回值是一个字符串
=> 当两个及以上 typeof 连用的时候, 一定得到 string
=> 只能准确的检测基本数据类型
-> 数值: number
-> 字符串: string
-> 布尔: boolean
-> undefined: undefined
-> null: object

2、数据类型转换 - 转数值

+ 把其他数据类型转换成数值类型

1. Number()
+ 语法: Number(你要转换的数据)
+ 返回值: 转换好的数据
+ 特点:
=> 把你要转化的内容当作一个整体来看代
=> 能转换成数字结果, 就是数字结果
=> 不能转换成数字结果, 就是 NaN

2. parseInt()
+ 语法: parseInt(你要转换的数据)
+ 返回值: 转换好的数据
+ 特点:
=> 把你要转换的任何内容一位一位的看
=> 如果第一位就不能转换成数字, 那么直接给 NaN
=> 如果第一位可以, 就看第二位, 第一位保留
=> 以此类推, 直到一个不能转换成合法数字的位置为止
=> 注意: 不认识小数点

3. parseFloat()
+ 语法: parseFloat(你要转换的数据)
+ 返回值: 转换好的数据
+ 特点:
=> 和 parseInt 的解析规则一模一样
=> 只不过多认识一个小数点

4. 取正负值
+ 语法: +变量 或者 -变量
+ 返回值: 转换好的数据结果
+ 特点:
=> 和 Number 的解析规则一模一样

5. 非 加法 的数学运算
+ 语法:
a * 1
a - 0
a / 1
+ 特点:
=> 和 Number 方法解析规则一模一样

 

数据类型转换 - 转字符串

+ 把其他数据类型转换成字符串类型

1. String()
+ 语法: String(你要转换的数据)
+ 返回值: 转换好的数据
+ 特点:
=> 任何数据类型都能转换

2. toString()
+ 语法: 你要转换的数据.toString()
+ 返回值: 转换好的数据
+ 特点:
=> undefined 和 null 不能转换

3. 加法运算
+ 再 JS 里面, 加号(+) 有两个意义
1. 进行字符串拼接
=> 只要符号任意一边是字符串的时候, 就是字符串拼接
2. 进行数学运算
=> 只有两边都是数字或者布尔的时候, 会进行数学运算


扩展: 报错信息
Uncaught TypeError: Cannot read property 'toString' of undefined
=> 你的代码里面一定有一个 xxx.yyy
=> 之所以报错, 因为 xxx 是 undefined
Uncaught TypeError: Cannot read property 'toString' of null
=> 你的代码里面一定有一个 xxx.yyy
=> 之所以报错, 因为 xxx 是 null

数据类型转换 - 转布尔

+ 把其他数据类型转换成布尔数据类型

1. Boolean()
+ 语法: Boolean(你要转换的数据)
+ 返回值: 转换好的数据
+ 特点:
=> 再 JS 里面只有五个内容转换成 false
-> 0
-> 空字符串('')
-> NaN
-> undefined
-> null
=> 其他所有内容转换完毕都是 true

 

posted on 2021-07-02 19:13  phantom_yy  阅读(25)  评论(0)    收藏  举报