强制类型转换
强制类型转换主要指将其他数据类型转换为String Number Boolean一、强制类型转换为String将其他数据类型转换为string主要有两种方法方式一调用被转换类型的toString()方法该方法不会影响原变量,它会将转换的结果返回null和undefined没有toString方法(如果调用会报错方式二调用 String()函数,并将被转换数据作为参数传递给函数对于Number和Bo
强制类型转换主要指将其他数据类型转换为 String Number Boolean
一、强制类型转换为String
将其他数据类型转换为string主要有两种方法
方式一
调用被转换类型的toString()方法
该方法不会影响原变量,它会将转换的结果返回
null和undefined没有toString方法( 如果调用会报错 )
var a=123;
a=a.toString();
b=true;
b=b.toString();
console.log(typeof a);
console.log(a);
console.log(typeof b);
console.log(b);
结果
方式二
调用 String()函数,并将被转换数据作为参数传递给函数
对于Number和Boolean实际上调用 toString()
对于null和undefined就不会调用 (它直接将null转换为“null”,将undefined转换为 “undefined”)
<script>
a=undefined;
a=String(a);
b=null;
b=String(b);
console.log(typeof a);
console.log(a);
console.log(typeof b);
console.log(b);
</script>
结果
二、强制类型转换为Number
将其他数据类型转换为number主要有两种方法
方法一 使用Number() 函数
字符串转数值
- 若纯数字字符串则转换为数字
- 若字符串中有非数字内容转换为NaN
- 若是空或全是空格则为 0
布尔转数字
- true转成1
- false转成0
null转成0
undefined转成NaN
a = false;
a=Number(a);
console.log(typeof a);
console.log(a);
b=null;
b=Number(b);
console.log(typeof b);
console.log(b);
c=undefined;
c=Number(c);
console.log(typeof c);
console.log(c);
d="123.456";
d=Number(d);
console.log(typeof d);
console.log(d);
结果
转换方式二 (这种方式专门对付字符串)
- parseInt()将一个字符串转换为一个整数
- parseFloat()将一个字符串转换为一个浮点数
a="198.34";
a=parseInt(a);
console.log(typeof a);
console.log(a);
b="198.34px";
b=parseFloat(b);
console.log(typeof b);
console.log(b);
结果
二、强制类型转换为Boolean
将其他数据类型转换为boolean主要有两种方法
方法一 使用Boolean()函数
* 数字转布尔值除了0和NaN都是true
* 字符串转布尔值 除了 空格 都是true
* null转布尔值为false
* undefined转布尔值为false
* 对象也会转换为true
var a = 123;
a=Boolean(a);
console.log(typeof a);
console.log(a);
var b = "123";
b=Boolean(b);
console.log(typeof b);
console.log(b);
var c = null;
c=Boolean(c);
console.log(typeof c);
console.log(c);
var d = undefined;
d=Boolean(d);
console.log(typeof d);
console.log(d);
结果
方法二 对任意非布尔值进行两次非运算
更多推荐
所有评论(0)