NoteComplete

标准类型(原始类型、引用类型)

1、 简介
2、 堆栈、复制说明
3、

/*
BEGIN   FOR EACH
    类型说明
    出现场景
    类型转换
END
*/

4、 类型转换总结
    o 案例

简介


堆栈、复制说明




/*
BEGIN   FOR EACH
    类型说明
    出现场景
    类型转换
END
*/



Note:
出现场景:

  • 已声明未赋值的变量:a显示声明后未赋值 b隐式声明后未赋值

  • 获取对象不存在的属性
  • 无返回值的函数的执行结果
  • 函数未传入的参数

    案例:










    类型转换总结

type Value Boolean Number String
Undefined undefined false NaN "undefined"
Null null false 0 "null"
Boolean true 1 "null"
true 0 "false"
String "" false 0
"123" true 123
"1a" true NaN
Number 0 false "0"
1 true "1"
-1 true "-1"
Infinity true "Infinity"
NaN false "NaN"
Object {} true NaN "[object Object]"


  • 左边Object转String:toString后如果是原始值就直接到String,如果是引用值就valueOf()然后到String
  • 右边Object转Number:优先级不同流程同上
  • Object转String或Number:若没有明确Object具体转的类型,那么走的是右边的路,除了Date对象之外? demo如下结果为面积之和 加号两边若有一个为String类型则进行的是连接

  • 每个JavaScript固有对象的 valueOf,toString 方法定义不同。 》http://www.jb51.net/article/32327.htm

    • 案例

      结果:首先类型转换,然后值相加