ECMAScript基础-1

js用了很长时间,一直都是为了解决问题而解决问题,很少去了解基础的知识,很遗憾。翻出《javascript高级程序设计》,开始补习补习。先声明下:知识点和实例会从书上摘抄些。
ECMAScript中,变量可以存放两种类型的值:原始类型(栈stack上的简单数据段)和引用类型(堆heap上的对象)。感觉和c#的值类型与引用类型同理。原始类型分5种:Undefined、Null、Number、String和Boolean。可以用typeof运算符来判断一个值是否表示一种原始类型;如果是原始类型还可以判断具体是哪种类型;
对变量或值调用typeof运算符将返回下列值之一:
alert(typeof 123) // outputs "number"

“undefined”  对应Undefined类型
“boolean”  对应Boolean类型
“number”  对应Number类型
“string”  对应String类型
“object”  对应Null或变量是一种引用类型
  1. Undefined 
    Undefined类型只有一个值,就是“undefined ”。声明的变量未初始化的时候,它的值就是undefined.
    var a;
    alert(typeof a); // outputs "undefined" 
    
    //值undefined并不同于未定义的值。但是typeof运算符并不真正区分这两种值。
    
    // make sure this variable isn't defined 
    //var b;
    alert(typeof b); // outputs "undefined"
    

    上面的代码a,b都输出undefined,虽然b未被声明。但是如果对b进行其他运算符操作的话,就会报错
    另外,当函数无明确的返回值的时候,返回的也是undefined
    function  testFun(){
         //leave the function blank
    }
    
    alert(testFun==undefined); //outputs "true"
    
  2. Null
    Null也只有一个值:null.值undefined实际上是从值null派生而来,所以ECMAScript把它们定义为相等
    alert(null==undefined); // outputs "true"
    虽然两个值相等,但是含义不同。undefined是声明了变量但是未对起初始化时赋予该变量的值,null是表示尚未存在的对象。如果函数或者方法要返回的是对象,那么找不到该对象时,返回的通常是null。
  3. Boolean
    Boolean有两个值:true和false


    String和Number下次写
posted @ 2011-05-29 02:33  Frida-  阅读(269)  评论(0编辑  收藏  举报