JS数据类型的转换

目录

转为字符串

自动转换

 强制转换

 转换为数字类型

自动转换

 强制转换

 转换为布尔类型

 自动转换

 强制转换


1.自动转换->js会根据需要自动进行类型转换,但是转换时会遵循一定的规则

2.强行转换->通过内置对象的方法强制转换

转为字符串

自动转换

 强制转换

String(),object.toString() 


var a = 1234;  
a = String(a);

var a = 1234;
a = a.toString();

 转换为数字类型

自动转换

 注意:数学运算(特殊情况:+再出现字符串的情况下不是数学运算,而是字符串的拼接)

 强制转换

 Number() 按照自动转换规则转换

parseInt(string) 、parseFloat(string)

isNaN() 函数用于检查其参数是否是非数字值

注意:parseInt还可以接受第二个参数(2到36之间),表示呗解析的值的进制,返回该值对应的10进制数。parseInt的第二个参数为10,即默认是十进制转十进制

parseInt('1000'); // 1000
// 等同于
parseInt('1000',10); // 1000
parseInt('1000',2); // 8
parseInt('1000',6); // 216
parseInt('1000',8); // 512
console.log(0x2f);                     //47
console.log(061);                      //49
console.log(Number(null));             //0
console.log(Number(undefined));        //NaN
console.log(Number('123.12'));         //123.12
console.log(true+123);                 //124
console.log(Number('123abc'));         //NaN
console.log(parseInt('012.6a23b'));    //12
console.log(parseFloat('a12.6a23b'));  //NaN
console.log(parseInt(true));           //NaN

 转换为布尔类型

 自动转换

 强制转换

Boolean(), !!

if(0 || "" || '' || NaN || undefined || null){
  alert('true')
}else{
  alert('false')
}
!!123.11  // true
Boolean('abc') // true
console.log(Boolean([])); // true

console.log(Boolean([])); // true
console.log([] == false);   // true; ==两边的数据类型不一致,需要转为数字进行比较;[]=>字符串''=>数字0
console.log(![] == false); // true  ==的优先级比较低,肯定是先算左边 ![] 然后与后面进行比较,[]转为布尔值为true 取反 false false==false
console.log('0' == false); // true

在==比较的过程中,数据转换的规则 类型一样的几个特殊点:

{} == {} false,对象对比的是堆内存的地址

[] == [] false

NaN == NaN false

类型不一样的转换规则:

  1. null == undefined true,但是换成 === 结果是false(因为类型不一致),剩下null/undefined和其他任何数据类型值都不相等
  2. 字符串 == 对象,要把对象转为字符串
  3. 剩下如果 == 两边数据类型不一致,都是需要转换为数字再进行比较

如果类型都是字符串,就会按照ASCII编码的进行对比

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值