本文主要是介绍js数据类型的转换(si磕版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>//转换字符串//数据变量.toString()//string();var numstr = 100;console.log(numstr);//100var result = numstr.toString();console.log(typeof result);//stringvar str = 10.11;var result = String(str);console.log(typeof result);//stringconsole.log(result);//10.11var str = false;var result = String(str);console.log(typeof result);//stringconsole.log(result);//false//转数字/** number(数据变量)* parseInt() 转整数* parseFloat() 转小数* */var str = '500';var result = Number(str);console.log(result);//500console.log(typeof result);//number/** 注意:如果是纯数字字符串,转换后会是对应的数值,如果数值中带有其他字母或者特殊字符使用Number()转换将会得到NaN* *///后面带字母的 变成NANvar str = '100.111a';console.log('Number()方法后面带字母的'+str);//Number()方法后面带字母的100.111avar result = Number(str);console.log(result);//NaNconsole.log(typeof result);//number//前面带字母的 变成NANvar str = 'aaa200.111';console.log('Number()方法前面带字母的'+str);//Number()方法前面带字母的aaa200.111var result = Number(str);console.log(result);//NaNconsole.log(typeof result);//number//前面带特殊字符的 变成NANvar str = '@300.111';console.log('Number()方法前面带特殊字符的'+str);//Number前面()方法带特殊字符的@300.111var result = Number(str);console.log(result);//NaNconsole.log(typeof result);//number/** 注意:如果是纯数字字符串,转换后会是对应的数值,如果数值中带有其他字母或者特殊字符使用Number()转换将会得到NaN* 当前第一位是 + - 号除外 被当成 正数 和 负数 其它位置仍然被视为特殊符号* *///前面带+的 被视为正数 -号同理 被视为负数var str = '+400.111';console.log('Number()方法前面带+的 被视为正数 -号同理 被视为负数'+str);//前面带+的 被视为正数 -号同理 被视为负数+400.111var result = Number(str);console.log(result);//400.111console.log(typeof result);//number//后面带+的 被视为特殊符号 变成NAN 减号同理 被视为特殊符号var str = '400.111+';console.log('Number()方法后面带+的 被视为特殊符号 变成NAN 减号同理 被视为特殊符号'+str);//Number()方法后面带+的 被视为特殊符号 变成NAN 减号同理 被视为特殊符号+400.111var result = Number(str);console.log(result);//NANconsole.log(typeof result);//number//中间带+的 被视为特殊符号 变成NAN 减号同理 被视为特殊符号var str = '999+00.111';console.log('Number()方法中间带+的 被视为特殊符号 变成NAN 减号同理 被视为特殊符号'+str);//Number()方法中间带+的 被视为特殊符号 变成NAN 减号同理 被视为特殊符号999+00.111var result = Number(str);console.log(result);//NANconsole.log(typeof result);//number//中间带*的 被视为特殊符号 变成NAN /号同理 被视为特殊符号var str = '*600.111';console.log('Number()方法前面带*的被视为特殊符号/号同理 被视为特殊符号'+str);//Number()方法前面带*的被视为特殊符号/号同理 被视为特殊符号*600.111var result = Number(str);console.log(result);//NaNconsole.log(typeof result);//number/** parseInt转换为整数 数字后面的符号或者字母 一律自动舍弃* 小数后的也被舍弃* 前面带字母的 和 Number()一样 转换将会得到NaN* 当前第一位是 + - 号除外 被当成 正数 和 负数 其它位置仍然被视为特殊符号 从数字开始后的都被舍弃* *///第一个不为数字的起 后面的字母小数 特殊符号全部舍弃var str = '100.11efs';console.log('parseInt()方法后面带字母的,后面的字母小数 特殊符号全部舍弃'+str);//parseInt()方法后面带字母的,后面的字母小数 特殊符号全部舍弃100.11efsvar result = parseInt(str);console.log(result);//100console.log(typeof result);//number//第一个不为数字的 转换NANvar str = 'aa800.11efs';console.log('parseInt()方法前面带字母的,第一个不为数字的 转换NAN的'+str);//parseInt()方法前面带字母的,第一个不为数字的 转换NAN的aa800.11efsvar result = parseInt(str);console.log(result);//NANconsole.log(typeof result);//number//第一个不为数字但是是-号 视为负数 加号同理var str = '-1100.11efs';console.log('parseInt()方法前面带-的视为负数加号同理视为正数'+str);//parseInt()方法前面带-的视为负数加号同理视为正数-1100.11efsvar result = parseInt(str);console.log(result);//-1100console.log(typeof result);//number//从不是数字开始后的都被舍弃var str = '1-100.11efs';console.log('parseInt()方法中间带-的,从不是数字开始后的都被舍弃'+str);//parseInt()方法中间带-的,从不是数字开始后的都被舍弃1-100.11efsvar result = parseInt(str);console.log(result);//1console.log(typeof result);//number//从不是数字开始后的都被舍弃var str = '10-0.11xaz';console.log('parseFloat()方法中间带-的,从不是数字开始后的都被舍弃'+str);//parseFloat()方法中间带-的,从不是数字开始后的都被舍弃100.11xazvar result = parseFloat(str);console.log(result);//100.11console.log(typeof result);//number//自动数据类型转换//字符串和整型没有办法自动运算。因为+代表字符串的连接符var number = 10;var str = '10';result = number + str;console.log('字符串和整型没有办法自动运算。因为+代表字符串的连接符'+result);//字符串和整型没有办法自动运算。因为+代表字符串的连接符1010var number = 11;var float = 11.11;result = number + float;console.log(result);//22.11var number = 11;var bool = true;result = number + bool;console.log(result);//12//面试题 数字遇到字符串 +号就变成连接符 并且后面的都被认为是连接符var a = 1.2 + 1 + "1" +1;console.log('数字遇到字符串 +号就变成连接符 并且后面的都被认为是连接符'+a);//数字遇到字符串 +号就变成连接符 并且后面的都被认为是连接符2.211if(31>5){console.log('真真大啊');}else{console.log('好笑呀');}</script>
</body>
</html>
这篇关于js数据类型的转换(si磕版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!