数据类型

JavaScript的数据类型:

    <script type="text/javascript">
        var a = 10;             // number
        var b = 3.14;           // number
        var c = "strings ...";    // string
        var d = false;          // boolean
        var e = null;           // Object
        var f = undefined;      // undefined
        var g;                  // undefined
        var i = new Object();   // Object
        alert(typeof a);
        alert(typeof b);
        alert(typeof c);
        alert(typeof d);
        alert(typeof e); //typedof null 返回object类型(原本是一个bug)
        alert(typeof f);
        alert(typeof g);
        alert(typeof i);
    </script>

js中的变量分类:

  1. 原始类型(基本数据类型)

    number 不分整型和浮点型

    string 在js中string是基本数据类型

    boolean

    null 一般是人为来赋值为null;对象类型的占位符;a = null;表示a为引用数据类型

    undefined null的衍生值,通常是系统自动赋值,当我们创建一个变量,并且没有初始化。

  2. 引用数据类型

    对象

类型转换

转换为boolean

  1. number:除了+0,-0,NaN为false,其他都为true

  2. undefined:false

  3. Object: true

  4. null:false

  5. string:if 字符串不为空,true

转换为string

  1. 任何类型+string = string;

  2. true: "true";

  3. false: "false"

  4. underfined:"undefined"

  5. null:"null"

  6. function:该方法的定义语句

  7. Object:[object 对象所属的类的类名],比如 var clock = new Object(); alert(clock + ""); 会打印出 [object Object]

    alert(window); 会打印出 [object Window] 这是由Object的 toString 方法决定的。

转换为num

js是弱类型语言,js中的变量类型会根据需要进行自动变化

因为一元加法是数学运算符,所以需要c是数字类型,js就将c转化为num类型

如何主动转换?

使用一元加一元减:"abc" – 1; true + 2;

注意: 任何类型+string=string;

  1. true:1

  2. false:0

  3. string:如果这个字符串的内容是由数字构成,则会直接转换为数字,否则会出现NaN

  4. object、undefined、:NaN

  5. null:0 // alert(-null);

最后更新于