js中类型之间的转换

一、字符串转化为数组
1. object.split()

var str = 'ab+c+de';
var a = str.split('+'); // [ab, c, de]
var b = str.split(''); //[a, b, +, c, +, d, e]


2. Array.from(arr) (等价于[…arr],拥有迭代器[symbol.iterator]的对象才能用)

const bar = ["a", "b", "c"];
console.log(Array.from(bar));
// ["a", "b", "c"]  数组还是数组

console.log(Array.from('foo'));
// ["f", "o", "o"]  字符串转化为数组

const arr='ass';
console.log([...arr]);  ([...arr]的使用,也能将字符串转化为数组)
//['a','s','s']

二、数组转化为字符串
1. object.join()

var a, b,c; 
a = new Array(a,b,c,d,e); 
b = a.join('-'); //a-b-c-d-e  使用-拼接数组元素
c = a.join(''); //abcde


2. object.toString()

var a=[1,2,3];
console.log(a.toString());
//1,2,3

3.object+”“

var a=[1,2,3];
console.log(a+"");
//1,2,3

三、字符串转换为数字

1.转换函数。
parseInt()、parseFloat():只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10(0x代表为16进制数)
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN

parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN
注:parseFloat()必须以十进制形式表示浮点数,否则输出为NAN

2.强制转换
Boolean(value)——把给定的值转换成Boolean型。当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。

Number(value)——把给定的值转换成数字(可以是整数或浮点数)。Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。

Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object

Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100

3.弱类型转换
利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换。

<script>
var str= '002.345 ';
var x = str-0;
var y=+str;//利用了‘+’一元操作符特性
console.log(x);//2.345
console.log(y);//2.345
</script>

四、数字转换为字符串
以下几种方法和事例:
object+”
String(object);
object.toFixed();
object.toLocaleString();
object.toPrecision();
object.toString();

顺便提一下,详情自行查阅:
String(null);// ‘null’ (String()为强制转换函数)
null.toString();//出错

<script>
var a = 1;
console.log(a+'');//1
console.log(String(a));//1
console.log(a.toFixed());//1
console.log(a.toLocaleString());//1
console.log(a.toPrecision());//1
console.log(a.toString());//1
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值