由于JavaScript是弱类型的,所以它不会做任何的自动类型检查,所以如果看到与null进行比较的代码,尝试使用以下技术替换:

    1. 如果值应为一个引用类型,使用 instanceof 操作符检查其构造函数

    2. 如果值应为一个基本类型,作用 typeof 检查其类型

    3. 如果是希望对象包含某个特定的方法名,则使用 typeof 操作符确保指定名字的方法存在于对象上

    1. var a = [1];
    2. var b = null;
    3. var c = {};
    4. c.hello = function() {};
    5. a instanceof Array; // true
    6. typeof b == "object"; // true
    7. typeof d; // 'undefined'
    8. typeof c.hello === 'function' // true