js数据类型转换

本文详细介绍了JavaScript中变量转换为字符串、数值类型及布尔类型的多种方法,并对比了它们之间的区别与适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、变量转换为字符串
注:以下代码均可在F12的Console中运行查看。
(1)、toString()方法

var num = 18;
var isRight = true;
console.log(num.toString());  // '18'
console.log(isRight.toString()); // 'true'

但是当变量的值为null或者undefined时,第1种方法就不行了。
(2)、String()

var num = 18;
var isRight = true;
console.log(String(num));  // '18'
console.log(String(isRight));  // 'true'

var a = null;
console.log(String(a));   // 'null'
console.log(typeof String(a));  //string

(3)、字符串拼接

var num = 18;
var isRight = true;
console.log(num + '');   // '18'
console.log(isRight + '');  // 'true'

二、变量转换为数值类型
(1)、Number()方法

var str = 'abc';
var isRight = true;
console.log(Number(str));  //NaN(not a number)   不是一个数字
console.log(Number(isRight ));  // 1
console.log(Number('123'));  //123
console.log(Number('123abc'));  //NaN

Number()把字符串转换为数字的时候,有一个字符不是数字的话,就会返回NaN。
(2)parseInt()方法

var str = '123';
var isRight = false;

console.log(parseInt('123'));   //123
console.log(parseInt(isRight));  // NaN
console.log(parseInt('abc'));   // NaN
console.log(parseInt('123abc'));   // 123
console.log(parseInt('abc123'));   // NaN

parseInt()无法把布尔类型转换为数值类型,返回NaN。
同时parseInt()在转换字符串的时候,如果遇到数字就会转换数字,非数字就会返回。
(3)parseFloat()方法

var str = '123.67';
var isRight = false;

console.log(parseFloat(str));   //123.67
console.log(parseInt(str));   //123
console.log(parseFloat(isRight));  // NaN
console.log(parseFloat('123abc'));  //123
console.log(parseFloat('123.12abc'));  //123.12
console.log(parseFloat('123.15.12abc'));  //123.15

parseFloat()无法把布尔类型转换为数值类型,返回NaN。
parseFloat()会解析第一个.遇到第二个.或者非数字就会结束。
如果解析的内容里只有整数,解析成整数。
(4)、取正或者取负

var num = -5;
console.log(num);  // -5

var str = '123'
console.log(+str);  //123
console.log(typeof(+str)); // number
console.log(-str);  //123

console.log(+'123abc');  //NaN

var isOk = true;
console.log(+isOk); // 1

var str = '123'
console.log(str - 0); // 123  number型

var str = '123abc'
console.log(str - 0); // NaN
console.log(str + 0);  // '123abc0'

+如果一边是数值类型,一边是字符串, 会把数值转换为字符串,在进行字符串的拼接。
-如果一边是字符串,一边是数值,会把字符串转换为数值类型在进行数值的减法运算。如果字符串转换为数值型失败,此时返回NaN。

三、转换成布尔类型
(1)、Boolean()

var str = 'abc';
var num = 123;
var a = null;
var b;  //默认值是undefined

console.log(Boolean(str));   // true
console.log(Boolean(num));   // true
console.log(Boolean(a));   // false
console.log(Boolean(b));  //false

console.log(Boolean(''));  //false
console.log(Boolean(0));  //false
console.log(Boolean(NaN));  //false

console.log(Boolean(-1));  //true

转换成false的情况: null undefined ‘’ 0 NaN 就这五种。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值