• javascrip判断null和undefined


    Null 数据类型

    在 Jscript 中数据类型 null 只有一个值:null。关键字 null 不能用作函数或变量的名称。

    包含 null 的变量包含“无值”或“无对象”。换句话说,该变量没有保存有效的数、字符串、boolean、数组或对象。可以通过给一个变量赋 null 值来清除变量的内容。

    请注意,在 Jscript 中,null 与 0 不相等(与在 C 和 C++ 中不同)。同时应该指出的是,Jscript中 typeof 运算符将报告 null 值为 Object 类型,而非类型 null。这点潜在的混淆是为了向下兼容。

    Undefined 数据类型

    如下情况使返回 undefined 值:

    • 对象属性不存在,
    • 声明了变量但从未赋值。

    注意不能通过与 undefined 做比较来测试一个变量是否存在,虽然可以检查它的类型是否为“undefined”。在以下的代码范例中,假设程序员想测试是否已经声明变量 x :

    // 这种方法不起作用
    if (x == undefined)
        // 作某些操作
    // 这个方法同样不起作用- 必须检查
    // 字符串 "undefined"
    if (typeof(x) == undefined)
        // 作某些操作
    // 这个方法有效
    if (typeof(x) == "undefined")
        // 作某些操作

    考虑将 undefined 值与null做比较。

    someObject.prop == null;

    如下情况时,比较的结果为 true

    • 如果属性 someObject.prop 包含 null 值,
    • 如果属性 someObject.prop 不存在。
    • 要检查一个对象属性是否存在,可以使用新的 in 运算符:
    if ("prop" in someObject)
    // someObject 有属性 'prop'
  • 相关阅读:
    CLR的黑暗面——栈与引用对象
    delegate的另类玩法
    一个比较bt的xslt
    关于string
    jQuery核心讲解
    Linux环境进程间通信(二):信号(上)
    ubuntu10.10 轻松安装 Nvidia 官方驱动
    Linux环境进程间通信(二): 信号(下)
    Linux 信号signal处理机制
    java.lang.ProcessBuilder类和java.lang.Process类
  • 原文地址:https://www.cnblogs.com/ahuo/p/701932.html
Copyright © 2020-2023  润新知