1.数据类型
最新的ECMAScrip标准定义了7种数据类型:
- 原始类型:Undefined,Null,Boolean,Number,String,Symbol(es6中新增);
- 对象类型:Object;
2.显示类型转换
显示类型转换时需调用Number函数,String函数,Boolean函数三个中的一个。
Number函数
原始类型转换:
- 1.数值:转换后还是原来的值;
- 2.字符串:如果可以被解析为数值,则转换为相应的数值,否则得到NaN;空字符串转为0;
- 3.布尔值:true转成1,false转成0;
- 4.undefined:转成NaN;
- 5.null:转成0;
对象类型转换:
String函数
原始类型转换:
- 1.数值:转为相应的字符串;
- 2.字符串:转换后还是原来的值;
- 3.布尔值:true转成"true",false转成"false";
- 4.undefined:转成"undefined";
- 5.null:准成"null";
对象类型转换:
Boolean函数
原始类型转换:
- undefined,null,-0,+0,NaN,""(空字符串),转为false;其他的(如{},[])一律转为true。
3.隐示类型转换
- 四则运算
- 判断语句
- Native调用(console.log(),alert())
4.好玩的栗子
<script type="text/javascript">
[] + []//""
[] + {}//"[object Object]"
{} + []//0
true + true//2
1 + {a: 1}//"1[object Object]"
{} + {}//Firefox下为NaN,{}理解为代码块
{} + {}//Chrome下为"[object Object][object Object]"
</script>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。