目录
- 数字类型(Number)
- 字符串类型(String)
- 无定义类型(undefined)
- string转成number隐式转换
- string转成number显式转换
- 其他类型转换成string
- 其他数据类型转Boolean
正文
- 数字类型(Number)
- 最基本的数据类型
- 不区分整型数值和浮点型数值
- 能表示的最大值是±1.7976931348623157乘以10的308次方
能表示的最小值是±5 乘以10的-324次方
- 字符串类型(String)
字符串由单引号或双引号括起
例如单独一个字母也被称为字符串(例如:‘a’)
-
无定义类型(undefined)
-
string转成number隐式转换
1.可以在前面加一个+ 2.使用减乘除取余可以将string转成number类型
string类型的值无法转换成number类型的时候。会转换成NaN
NaN:不是一个数字 为了传唤失败的时候给的一个特殊的状态,不让程序报错
NaN表示数字的一种非正常的状态,但是本身还是number类型的值
NaN特殊的点:特殊到六亲不认 ,NaN==NaN是false
任何涉及NaN的操作都会返回NaN NaN与任何值都不相等,包括自己
isNaN() 判断值是否(不是数值),接收值后会尝试将值转换为数值,不能转换为NaN.
var num = "123";
num =+ num;
- string转成number显式转换
显式(强制)类型转换,使用函数: Number() parseInt() parseFloat()
Number()
特点:
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果在内容中出现小数,那么小数会保留。
d.如果内容为空,那么转换成0;
var num1 = "1234";
num1 = Number(num1);
parseInt()
特点:
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果带有小数,那么会去掉小数,而不是四舍五入。
d.如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止.
Number跟parseInt 区别的小例子:
var a = "123abc";
console.log(Number(a)); //NaN
console.log(parseInt(a)); //123
ParseFloat()
跟parseInt大体相同,唯一不同的是parseFloat();能转换成小数而parseInt();只能转换成整数。
- 其他类型转换成string
隐形:+” ”
例子:
a = a+"";
显式:
用tostring();方法
例子:
u = u.toString();
任何数据值都有toString()方法,但是有特殊的两个是没有toString()方法的,是undefined 和null 要用String();
var u = undefined;
u = String(u);
var n = null;
n = String(n);
- 其他数据类型转Boolean
隐形:加!!
例子:
num = !!num;
强制:用Boolean();
例子:
a = Boolean(a);