强制转换 字符转换String Number Boolean 字符的强制转换

不多废话 全在注释

<!--
	强制类型转换
	主要是指将其他的数据类型转换为 String Number Boolean;
	要调用被转换数据类型为String用toString()方法 但不能转换空值即NULL和未赋值的变量即undefined
	因为他们没有toString方法  可用二方法 如下
	
	转换为Number 方法一:用Number()函数跟String()方法一样但当原数据无法转换为数字 比如“abc”
	则会返回NaN(no a Number) (NaN不是数据类型)  接下  此方法只要原变量中有一点不能转换数字的都无法转换成功
	
	方法二:可用parseInt()函数可把一个字符串中有效的整数内容取出来转换为整数 
	但是!  
	如果是a123 则直接返回NaN小数也不行 比如123.456只会读取前面的123
	想要读取读取小数 可用parseFloat()函数 跟上面的一样 不过这个可以读取小数位

转换为Boolean 用Boolean() 数字中 除了0跟NaN为false其他的都为true
	字符串 除了空串其他都为true
	null和undefined为false
-->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var a=123;//此时是数值 Number类型
			console.log(typeof a);
			/*toString()方法有返回值
			 对一个数据进行转换类型后不会改变原变量 返回值类型为转换后的类型*/
			console.log(a.toString());
			console.log(typeof a.toString());
			//想改变原变量可如下
			a=a.toString();
			console.log(typeof a);
			//字面一样 其实类型不一样
			/*二方法 调用String()函数 把要转换的变量当做参数传进去 
			不仅可以改变普通类型的变量还可改变null和undefined*/
			a=null;
			console.log(typeof a);
			
			a=String(a);
			console.log(typeof a);
			
			a="";
			//这种情况或者全是空格 函数返回值为0
			console.log(Number(a));
			a=true;
			//Boolean类型 true转换为1 false转换为0 NULL也会转换为0 Undefine转换为NaN
			console.log(Number(a));
			
			a="123p456";
			console.log(parseInt(a));
			console.log(typeof parseInt(a));
			a="123.4p56"
			console.log(parseFloat(a));
			console.log(typeof parseFloat(a));
			/*这两个个只会读取前面的整数部分 比如123p456当读取到p便会停止 后面的不再读取
			 *parseInt()函数可把一个字符串中有效的整数内容取出来转换为整数 
			 parseFloat()函数 跟上面的一样 不过这个可以读取小数位 */
			
			a=null;
			console.log(parseFloat(a));
			//先a变成"Null"这个字符(这是字符 不是空值)
			console.log(typeof parseFloat(a));
			//若原数据类型不为String则会先给转换为String 然后再正常转换
		</script>
	</head>
	<body>
	</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_45821251/article/details/108475615
今日推荐