JavaScript数据类型转换

1.字符串转整数

(1)使用parseInt()方法

  • 参数为字符串,结果为该字符串转换而来的整数;
  • 如果字符串首字符不是一个数字,转换失败,返回NaN;否则,转换到字符串中第一个不是数字的字符为止。及遇到字母、下划线、小数点等字符立即停止转换;
  • 16进制的符号0x不会让转换停止;
  • parseInt() 还可以有第二个参数,表示需要转换字符串的进制。
var a="123abc"
parseInt(a);//返回123
parseInt("12.2");//返回12
var b="0x10";
parseInt(b,16);//返回十进制16
var c="123abc";
parseInt(c,16);//返回十进制整数1194684
parseInt("a12");//返回NaN

(2)使用Number() 进行强制类型转换

  • 使用NUmber() 转换一个字符串,这个字符串必须是含有数字的字符串,即数字的字符串形式。
Number("12");//返回12
Number("12a12");//返回NaN
Number("");//返回0

2.字符串转小数

(1)使用parseFloat()

  • parseFloat()方法只转换到字符串中第一个不是数字的字符为止(这个字符不包括第一个是小数点)。
parseFloat("12.2.2");//返回12
parseFloat("12.2a");//返回12
parseFloat(null);//返回0

3.数字转字符串

(1)toString()实现一般的数字转字符串

  • toString() 括号内有一个可选的参赛,指几进制的形式转换为字符串
var number=1.0000;
console.log(number.toString());//返回 "1.0000"
var number2=0x10;//16进制10
console.log(number2.toString());//返回 "16"
number2=15;
console.log(number2.toString(16));//返回 "f"

(2)String() 是强制类型转换

  • String()可以转换null和undefined,而toString()不可以;
  • 调用String()函数,并将被转换的数据作为参数传递给函数。
var number1=12345;
number1=String(number1);// 返回"12345"
var number2=null;
console.log(String(number2));// 返回"null"

4.布尔型与其他类型的相互转换

(1)Boolean()方法实现其他的类型转布尔型

  • 布尔型的值只有两个true和false;
  • 布尔型转为字符串直接就是字符串true和false;
  • 布尔型中的true转换为数字1,布尔型中的false转换为数字0;
  • 数字0、null、unidefined、空字符串转换为布尔型的false,其他所有都是true.
var a=true;
a.toString();//返回 "true"
Number(true);//返回 1
Boolean("hello"); //返回true
Boolean("");//空字符串返回false
Boolaen(" ");//空格字符串返回true

5.隐式转换

  • JavaScript是一种弱类型语言,不同类型的变量在运算符作用下会发生类型转换。这个 是编译环境下直接进行的,所有叫隐式转换;
  • +运算的两个操作数是数字和字符串,数字会被转换为字符串;
  • +运算符的两个操作数是数字和布尔型,布尔型会被转换为数字;
  • +运算的两个操作数是字符串和布尔型,布尔型会被转为字符串;
  • 减、乘、除、取余运算会把其他类型转换为数字;
  • if括号中单独的一个变量会被转换为布尔型。
//当与空字符串相加时,JS会自动把值转换为字符串
var a=123;
a=a+"";
console.log(typeof a);//返回类型为string
//把数组转化为字符串
var b=[1,2,3];
b=b+"";
console.log(b);//返回字符串"1,2,3"
//如果变量乘1,则变量会被JS自动转换为数值
var a=1;
var b="1";
console.log(a+(b*1));//返回数值2
//如果变量减0,则变量会被JS自动转换为数值
var a="123";
a=a-0;
console.log(typeof a);//返回类型为number
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值