1 JavaScript中的数据类型
2 JavaScript类型转换
undefined类型转换
<script type="text/javascript">
var a = undefined;
console.log(a); //"undefined"
console.log(new Number(a).valueOf()); //NaN
console.log(new Boolean(a).valueOf()); //false
</script>
null类型转换
<script type="text/javascript">
var a = null;
console.log(a); //null
console.log(new Number(a).valueOf()); //0
console.log(new Boolean(a).valueOf()); //false
</script>
true类型转换
<script type="text/javascript">
var a = true;
console.log(a); //"true"
console.log(new Number(a).valueOf()); //1
console.log(new Boolean(a).valueOf()); //true
</script>
false类型转换
<script type="text/javascript">
var a = false;
console.log(a); //"false"
console.log(new Number(a).valueOf()); //0
console.log(new Boolean(a).valueOf()); //false
</script>
“”(空字符串)类型转换
<script type="text/javascript">
var a = "";
console.log(a); //(空字符串)
console.log(new Number(a).valueOf()); //0
console.log(new Boolean(a).valueOf()); //false
</script>
“1.2“(非空字符数组)类型转换
<script type="text/javascript">
var a = "132.4";
console.log(a);//132.4
console.log(new Number(a).valueOf()); //132.4
console.log(new Number(a).valueOf() == 132.4)// true
console.log(new Boolean(a).valueOf()); //true
</script>
“123.4 aaa”(非空,非数字字符)类型转换
<script type="text/javascript">
var a = "132.4 qqqq";
console.log(a);//"132.4 qqqq"
console.log(new Number(a).valueOf()); //NaN
console.log(new Boolean(a).valueOf()); //true
</script>
0,-0 转化:
<script type="text/javascript">
var a = 0;
console.log(a);//0
console.log(new Number(a).valueOf()); //0
console.log(new Boolean(a).valueOf()); //false
var b = -0;
console.log(b); //-0
console.log(new String(b).valueOf()); //0
console.log(new Number(b).valueOf()); //-0
console.log(new Boolean(b).valueOf()); //false
</script>
NaN类型转化
<script type="text/javascript">
var a = NaN;
console.log(a);//NaN
console.log(new String(a).valueOf()); // NaN
console.log(new Number(a).valueOf()); //NaN
console.log(new Boolean(a).valueOf()); //false
</script>
Infinity 和 -Infinity 类型转换:
<script type="text/javascript">
var a = Infinity;
console.log(a);//Infinity
console.log(new String(a).valueOf()); // Infinity
console.log(new Number(a).valueOf()); // Infinity
console.log(new Boolean(a).valueOf()); //true
var b = -Infinity;
console.log(b);//-Infinity
console.log(new String(b).valueOf()); // -Infinity
console.log(new Number(b).valueOf()); // -Infinity
console.log(new Boolean(b).valueOf()); //true
</script>
{}(任意对象)
<script type="text/javascript">
var a = {};
console.log(a);Object{}
console.log(new String(a).valueOf()); //[object Object]
console.log(new Number(a).valueOf()); // NaN
console.log(new Boolean(a).valueOf()); //true
console.log(a.toString()); // [object Object]
console.log(new Number(a).toString()); // NaN
console.log(new Boolean(a).toString()); //true
</script>