JavaScript变量和数据类型

先给你展示下一段对变量很不错的诠释:

变量就是分配了一个值的参数,它就像一个容器,可以存放各种数据,变量的值被存放在计算机内存中,并可以随着程序的执行而发生变化。当计算机看到程序中的变量名,就会查看自己的内存并用在内存中找到的值来替换变量名。

简单数据类型

  • Boolean:逻辑类型,其值为true或false,JavaScript也会在适当的时候将其值转换为1和0.如下面两段代码效果相同:
    var isLoaded=true;
    if(isLoaded){
        alert('ok!');
    }
    var isLoaded=true;
    if(isLoaded==1){
        alert('ok!');
    }
  • String:字符串类型,除了内存限制没有长度限制。复制使用单引号或双引号包围。特殊字符需要使用转义字符,如\b表示退格符(ASCII 8);也可以用16进制来指定如\x41表示A;甚至可以试用16进制指定的16位(双字节)的Unicode如\u0041表示A。
  • Number:数值型,可以试用10进制、8进制和16进制表示,前导0用于表示8进制,前导0x表示16进制。但8进制和16进制不能表示浮点数和科学计数。
  • Null:空类型,只有一个值null。表示无值;
  • Undefined:只有一个值undefined。表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。

复杂数据类型

  • Array:数组类型,元素数据类型很自由,可以混合各种数据类型;
  • Object:属性结合类型;

常量

  • true/false:逻辑真/假;
  • null:空;
  • undefined:未定义/未赋值;
  • NaN:非数字,可以用isNan函数检测;
  • Infinity:正无穷大;
  • -Infinity:负无穷大;

null与undefined

undefined 是由null派生处理的,因此undefined == null,但undefined !== null;

  • null 是 JavaScript 保留关键字,是对象,但为空,因为是对象所以 typeof null  返回 'object',null 转换为数值为 0,而undefined转换为NaN;null 可用于释放对象,以便及时垃圾回收;
  • undefined是全局对象(window)的一个特殊属性,而不是JavaScript的保留关键字,其值是未定义的。但 typeof undefined 返回 'undefined' 。
    以下三种情况typeof 返回类型为undefined:
         1. 当变量未初始化时;
         2.变量未定义时;
         3.函数无明确返回值时(函数没有返回值时返回的都是undefined);
posted @ 2012-08-02 14:03  码农神说  阅读(110)  评论(0编辑  收藏  举报