不多废话 全在注释
<!--
强制类型转换
主要是指将其他的数据类型转换为 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>