关于JS数据类型之间的转换

2019-07-29  本文已影响0人  小q

前言

这篇小记主要是总结自己学习时候遇到的类型转换。我将按照数据类型去总结。这其中包含了一些隐式转换,我会附上说明。我也会在其中写一些我认为有趣的东西。

js的数据类型

js的数据类型有Undefined,Null,Boolean,Number,String,Object,Symbol(ES6新增),这里总结基础数据类型的转换。

数据类型 转换为true 转换为false
Boolean true false
String 任何非空字符串 “”(空字符串)
Number 任何非零数字值(包括无穷大) 0、NaN
Object 任何对象 null
Undefined (不适用) undefined·

1.Number()可以用于任何数据类型
2.parseInt(),parseFloat()用于把字符串转换为数值。

  1. 使用+运算符

1.toString()方法
2.String("值")方法
3.值+“ ”(会进行隐式转换)

其他一些知识

1.javascript是松散类型的,使用typeof检测数据类型。

2. typeof(null) 会返回“Object”,原因是特殊值null被认为是一个空的对象引用。null值表示一个空指针对象。

3. 在Chrome7,Safari5及之前的版本在对正则表达式调用typeof操作符会返回“function”,其他浏览器则会返回“obect”

4. null == undefined 总会返回true。原因是“==”转换了其操作数。

5. Number类型使用的是IEEE754格式来表示整数和浮点数值。

6.正因为基于IEEE754格式,浮点数值的最高精度是17位小数。导致计算时出现误差。比如0.1+0.2并不等于0.3(等于0.30000000000000004),所以不能写if(0.1+0.2 == 0.3){...},这是使用基于IEEE754数值的浮点计算的通病。

7. NaN与任何数都不相等,包括NaN本身。

上一篇 下一篇

猜你喜欢

热点阅读