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;

对象类型转换:

Number(Object)函数的类型转换

String函数

原始类型转换:

  • 1.数值:转为相应的字符串;
  • 2.字符串:转换后还是原来的值;
  • 3.布尔值:true转成"true",false转成"false";
  • 4.undefined:转成"undefined";
  • 5.null:准成"null";

对象类型转换:

String(Object)函数的类型转换

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>

5.typeof

typeof运算符


stefanieliang
190 声望19 粉丝

一天一笔记~


引用和评论

0 条评论