测试类型
Prev Chapter 2. JavaScript 基础 Next

测试类型

JavaScript 提供了一个方法来测试变量类型。但是,其结果可能是令人困惑的 -- 比如,一个数组类型是 "object"。

当准备检测特定值的类型时,通常惯例是使用 typeof 运算符。

Example 2.40. 测试各种变量的类型

var myFunction = function() {
    console.log('hello');
};

var myObject = {
    foo : 'bar'
};

var myArray = [ 'a', 'b', 'c' ];

var myString = 'hello';

var myNumber = 3;

typeof myFunction;   // 返回 'function'
typeof myObject;     // 返回 'object'
typeof myArray;      // returns 'object' -- careful!
typeof myString;     // 返回 'string';
typeof myNumber;     // 返回 'number'

typeof null;         // returns 'object' -- careful!


if (myArray.push && myArray.slice && myArray.join) {
    // 可能是个数组
    // (这叫动态类型"duck typing")
}

if (Object.prototype.toString.call(myArray) === '[object Array]') {
    // 定义一个数组!
    // 这是一个被广泛验证过的可靠方法
    // to 判断一个特殊值是不是一个数组。
}

jQuery 提供了实用方法来帮助你检测一个任意值的类型。这些内容将在后面涉及。


Copyright Rebecca Murphey, released under the Creative Commons Attribution-Share Alike 3.0 United States license.


Prev Up Next
函数 Home 作用域