javeScript学习 003(数据类型转换)
数据类型转换
所有程序设计语言最重要的特征之一是具有进行类型转换的能力。
一,转换成字符串
1,toString()
a. 字符串本身也能被转换,ECMAScript定义所有对象都有toString()方法,无论他是伪对象,还是真对象。
1 var str = 'hello'; 2 console.log(str.toString()); //输出'hello' 仍是字符串类型
b. 布尔值转换为字符串
1 var boo1 = false; 2 console.log(typeof boo1) //输出boolean,布尔值数据类型 3 console.log(boo1.toString()) //输出'false' 变为了字符串类型 4 var boo2 = true; 5 console.log(typeof boo2) //输出boolean,布尔值数据类型 6 console.log(boo2.toString()) //输出'true' 变为了字符串类型
c. 数字装换为字符串
1 var num = 66; 2 console.log(num.toString()); //输出'66' 变为字符串类型 3 var num1 = 0; 4 console.log(num1.toString()); //输出'0' 变为字符串类型
d. null和undefined的转换
1 var blank = null; 2 console.log(blank.toString()); //输出报错,无法转换 3 var unknown = undefined; 4 console.log(unknown.toString()); //输出报错,无法转换
二,转换成数字
ECMAScript提供了整数型(parenInt)和浮点型(parentFloat)两种把非数字的原始数值装换为数字的方法。只有对 String 类型调用这些方法,它们才能正确运行;对其他类型返回的都是 NaN。
1,parseInt()整数型
1 var Num1 = "012345hello"; 2 console.log(parseInt(Num1)) //输出 12345 忽略开头的零 3 var Num1 = "hello1234"; //从左至右检测是否为数字,是数字则继续判断下一位直至结束输出,
只要检测出不是数字的值就输出NaN 4 console.log(parseInt(Num1)) //输出 NaN 5 var Num2 = parseInt("0xA"); //返回 10 八进制和十六进制都会转换为十进制,此处为十六进制 6 var Num3 = parseInt("56.9"); //返回 56 取整数 7 var Num4 = parseInt("hello"); //返回 NaN
2,parseFloat()浮点型
1 var Num1 = parseFloat("123hello"); //返回 12345 2 var Num2 = parseFloat("0xA"); //返回 NaN 浮点型无法转换十六进制,因为包含有x 3 var Num3 = parseFloat("11.2"); //返回 11.2 4 var Num4 = parseFloat("11.22.33"); //返回 11.22 第一个出现的小数点是有效字符,
如果有两个小数点,第二个小数点将被看作无效的。
parseFloat() 会把这个小数点之前的字符转换成数字。 5 var Num5 = parseFloat("0102"); //返回 102 6 var Num6 = parseFloat("hello"); //返回 NaN
三,强制类型转换
1,Boolean() 转换为布尔值
非空字符串,非零数字和对象都为true;空字符串,数字零,null 和 undefined则为false;
1 var str = Boolean('hello'); //非空字符串 返回true 2 var str1 = Boolean(''); //空字符串 返回false 3 var num = Boolean(66); //非零数字 返回true 4 var num1 = Boolean(0); //数字零 返回false 5 var test = Boolean(null); //返回false 6 var test1 = Boolean(undefined); //返回false
2,Number() 转换为数字(可以是整数和浮点数)
Number()和整数型(parenInt)和浮点型(parentFloat)转换的方法类似。但是Number只能转换整个值,对"1.2.3"这种字符串会输出NaN。
1 console.log(Number(false)); //输出 0 2 console.log(Number(true)); //输出 1 3 console.log(Number(null)); //输出 0 4 console.log(Number(undefined)); //输出 NaN 5 console.log(Number('6')); //输出 6 6 console.log(Number('6.6')); //输出 6.6 7 console.log(Number('6.6.6')); //输出 NaN 8 console.log(Number('hello')); //输出 NaN 9 console.log(Number(66)); //输出 66
3,String() 转换为字符串
String()可以把任何值转换为字符串。它和调用 toString() 方法的唯一不同之处在于,对 null 和 undefined 值强制类型转换可以生成字符串而不引发错误:
console.log(String(null)); //输出'null'字符串
console.log(String(undefined)); //输出'undefined'字符串
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律