js 数据类型转换

javascript是一种弱类型的语言,在声明变量的时候不会强制它的数据类型,并且会根据上下文环境自动的进行数据类型的转换

1)字符串值转换为数值

Number函数 parseInt函数(可以接受第二个参数,指定转换的进制,默认十进制) parseFloat函数

var a = Number('100');
alert(a);//100
alert(typeof(a));//number
var b = parseInt('100');
alert(b);//100
alert(typeof(b));//number

上面的两个例子都将字符串值装换成了数值

字符串转化为数值的隐式转换

alert(typeof('100' - 1));//number
alert(typeof('100' - ''));//number

在减法运算符的时候,字符串值默认转换为了数值

加法的时候

var str = 'abc' + 1;
alert(str);‘abc1’
alert(typeof(str));//string

会将数值转换成字符串值,变成字符串的连接

2)数值转换为字符串

调用string函数 或者toString方法

var a = String(100);
alert(typeof(a));//string
var b = (100).toString();
alert(typeof(b));//string

数值转换为字符串的隐式转换

加法的时候

var str = 'abc' + 1;
alert(str);‘abc1’
alert(typeof(str));//string

惯用方法 

字符串值转换为数值

var a = '1';
alert(typeof(+a));//number

数值转换为字符串值

var b = 1 + '';
alert(typeof(b));//string

3)其他类型转换为布尔类型

数值0 数值NaN null值 undefined值 空字符串‘’ 这5个值在进行隐式转换的时候会转换为false 其他值均转换为true

if(0) {

}

我们可以使用!!来进行隐式的数据类型转换

!是布尔型操作的逻辑非运算符,可以在操作数不是布尔型的情况下将其转换为布尔型 所以通过!!就可以完成布尔类型的转换

原文地址:https://www.cnblogs.com/tiantianwaigong/p/4345591.html