JS数据的类型和转换
数据类型
String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
Object 对象
其中 String Number Boolean Null Undefined属于基本数据类型
而Object属于引用数据类型
使用typeof检查一个字符串时,会返回string
-使用typeof检查一个数值时,会返回number
-使用typeof检查一个布尔值时,会返回boolean
-使用typeof检查一个Undefined类型的数据时,会返回undefined
- 使用typeof检查一个Null类型的值时,会返回object
String 字符串
- 在JS中字符串需要使用引号引起来,双引号或单引号都行
- str变量 "str"字符串
- 引号是不能嵌套的
当需要打印一些特殊字符时,可以使用\来作为转义字符
\" 表示"
\' 表示'
\\ 表示\
\t 表示制表符
\n 表示换行
\uxxxx 表示一个Unicode编码
Number
--在JS中所有的数字都是Number类型
--包括整数和浮点数
特殊的数字
NaN (Not A Number)
用来表示一个非法的数字
使用typeof检查一个NaN时,也会返回number
Boolean(布尔值)
我们可以使用布尔值来进行逻辑判断
布尔值只有两个true和false
true表示逻辑的真
false表示逻辑的假
null和undefined
Undefined(未定义)
- Undefined表示一个声明但是没有赋值的变量
- Undefined的类型只有一个值 undefined
使用typeof检查一个Undefined类型的数据时,会返回undefined
Null(空值)
- Null类型只有一个值,就是null
- null值专门用来表示为空的对象
- 使用typeof检查一个Null类型的值时,会返回object
转换为String
方式一:
- 调用被转换数据类型的toString()方法
- toString()方法不会改变原变量的值,而是将值转换为字符串并返回
- 由于null和undefined中没有toString()方法,所以不能调用toString()将他们转换为字符串
方式二:
调用String()函数
- 将被转换的数据做为参数传递给String()
- 原理:
- 对于具有toString()方法的类型来说,
String()会调用它们的toString()方法来将其转换为字符串
- 对于null和undefined来说,
会将null 直接转换为 "null"
将undefined 直接转换为 "undefined"
转换为Numeber
- 方式一:
- 使用Number()函数:
1.对于字符串来说
- 如果字符串是一个合法的数字,则将其转换为对应的数字
- 如果字符串不是一个合法的数字,则转换为NaN
- 如果字符串是一个空串或纯空格的字符串,则转换为0
2.对于布尔值来说
- true转换为1
- false转换为0
3.对于Null
- null转换为0
4.对于Undefined
- undefined转换为NaN
转换为Boolean
- 使用Boolean()函数
* - 对于数字 - 除了0和NaN剩下都是true
* - 对于字符串 - 除了空串剩下的都是true
* - null和undefined都是false
* - 对象默认都是true
隐式转换
-str
如果对两个字符串进行相加,则会进行拼串的操作,将两个字符串拼成一个字符串
- 任何值和字符串进行加法运算时,都会先将其转换为字符串,然后在和字符串进行拼串的操作
- 我们经常通过为一个任意的值加 空串的形式来将其转换为字符串,
-num
-可以对符号两侧的值进行减法运算
- *可以对符号两侧的值进行乘法运算
- /可以对符号两侧的值进行除法运算
不同的是在对非数字类型进行运算时,会先将其转换为数字然后在运算
1. 我们还可以通过为一个任意的数据类型 -0 *1 /1 来将其转换为Number类型
2. 如果对非数值进行一元的+或-运算,它会向将其转换为number,然后在运算
我们可以利用这一特点来将任意的数据类型 转换为Number
对浮点数进行运算时 可能会获取错误的结果
用十进制表示 1/3 0.333333333 无限循环小数
底层用二进制保存 不能精确保存1/10
解决方法 舍去 不要用js的运算涉及到钱。。
-boolean
!取反 !!给任意数据类型去两次反可以转换为布尔值
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
