JS-类型转换(+详细parseInt())

本文介绍了JavaScript中如何进行类型转换,包括字符串、数值和布尔类型的转换。重点讲解了parseInt()函数的使用,包括其解析规则和与其他转换方法的区别。同时提到了隐式转换和Boolean()函数的应用。

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

1. 转换成字符串类型
  • toString()
    对象都有toString()方法,undefined和null没有toString()方法,两者都没有原型也不是对象。
var num = 123;
console.log(num.toString());//打印"123"
/*但是:
*123.toString();会报语法错误。
*这个点(.)在对象里是调用方法;但在数学运算里(.)的优先级是最高的,它会被当成浮点型,浮点型后边加字母是肯定不行的。*/
  • String()
    String()函数存在的意义:有些值没有toString()方法,就可以使用String()。
var num1 = 123;
console.log(String(num1));

如果变量有意义可调用.toString()使用转换,
如果变量没有意义就要使用String()转换了。

var num2;
console.log(num2.toString());//这个num2没赋值为undefined没有意义,会报错
var num3 = null;
console.log(num3.toString()); //没有意义也报错
//那么就应该用:
console.log(String(num2)); //打印undefined
console.log(String(num3)); //打印null
  • 拼接字符串方式(num + “”)
    当 + 两边一个操作符是字符串类型,一个操作符是其它类型的时候,会先把其它类型转换成字符串再进行字符串拼接,返回字符串。
var a = true;
var str = a + "";
console.log(str);//打印"true"
var b = undefined;
var str1 = b + "";
console.log(str1);//打印"undefined"
2. 转换成数值类型
  • parseInt();
    parseInt()把字符串转换成整数。
console.log(parseInt("12.98"));//12
console.log(parseInt("12.3abc")); //12
//如果第一个是数字就会解析直到遇到非数字结束
console.log(parseInt("abc123")); //NaN
//如果第一个字符就不是数字就返回NaN
  • parseFloat();
    parseFloat()把字符串转换成浮点数。
    parseFloat()和parseInt非常相似,不同之处在与parseFloat会解析第一个点(.)遇到第二个点(.)或者非数字就会结束;如果解析的内容里只有整数,则解析成整数。
console.log(parseFloat("12")); //12
console.log(parseFloat("12abc")); //12
console.log(parseFloat("abc12")); //NaN
console.log(parseFloat("12.34abc")); //12.34
console.log(parseFloat("12.34.99")); //12.34
  • Number()
    Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,则返回NaN。Number()要比上面的两种方式严格。
console.log(Number("12")); //12
console.log(Number("12abc")); //NaN
console.log(Number("abc12")); //NaN
console.log(Number("12.34")); //12.34
  • 隐式转换(+,- 0等运算)
var str = '500';
console.log(+str);//500;取正
console.log(-str);//-500;取负
console.log(str - 0);//500
3. 转换成布尔类型
  • Boolean()
    undefined,null,0,""(空字符串),NaN,都会转换成false;其它都会转换成true。
console.log(Boolean(-10));//true
console.log(Boolean(""));//falsel;空字符串是false
console.log(Boolean(" ")); //true;空格字符串是true
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
  • 隐式转换(!!)
!true // false
!!true // true
!!'' // false
!!NaN // false

js类型转换

小附加~~
parseInt(字符串 [,基数 ])
如果第二个参数为undefined,0或未指定,则JavaScript假定以下内容:
1.如果输入string以“ 0x”或“ 0X”(零,后接小写或大写X)开头,第二个参数则假定为16,并将字符串的其余部分解析为十六进制数。
2.如果输入string以“ 0”(零)开头,第二个参数则假定为8(八进制)或10(十进制)。选择哪个基数取决于实现。
3.如果输入string以任何其他值开头,则基数为10(十进制)。

parseInt('1111', 2);//拿1111当做2进制的数转化成10进制--> 15
parseInt(3,8);//拿3当做8进制的数转化成10进制--> 3
parseInt(3,2);//拿3当做2进制的数转化为10进制--> NaN(2进制里没3这个数)
parseInt(3,0);//第二个数是0,返回原数--> 3

undefined和null 系统规定他俩就不能和数进行比较!
undefined大于0,小于0,等于0,都返回false
null大于0,小于0,等于0,也都返回false

undefined == null; //true
undefined === null; //false
isNaN(100); //false
isNaN("100"); //false
//这个数经历了number转换之后是不是NaN
{} == {}; //false,相当于都是新房间,并不是同一个对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值