`

js中null 和undifined的判断

阅读更多

JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断。

以下是不正确的用法:

 
var exp = undefined;
if (exp == undefined)
{
    alert("undefined");
}

exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 undefined 和 null 时可使用本法。

 
var exp = undefined;
if (typeof(exp) == undefined)
{
    alert("undefined");
}

typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"

 

以下是正确的用法:

 
var exp = undefined;
if (typeof(exp) == "undefined")
{
    alert("undefined");
}

 

 

 

 

 


    * JS 中如何判断 null

以下是不正确的用法:

 
var exp = null;
if (exp == null)
{
    alert("is null");
}

exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 null 和 undefined 时可使用本法。

 
var exp = null;
if (!exp)
{
    alert("is null");
}

如果 exp 为 undefined 或者数字零,也会得到与 null 相同的结果,虽然 null 和二者不一样。注意:要同时判断 null、undefined 和数字零时可使用本法。

 
var exp = null;
if (typeof(exp) == "null")
{
    alert("is null");
}

为了向下兼容,exp 为 null 时,typeof 总返回 object。

 
var exp = null;
if (isNull(exp))
{
    alert("is null");
}

JavaScript 中没有 isNull 这个函数。

 

以下是正确的用法:

 
var exp = null;
if (!exp && typeof(exp)!="undefined" && exp!=0)
{
    alert("is null");
} 

尽管如此,我们在 DOM 应用中,一般只需要用 (!exp) 来判断就可以了,因为 DOM 应用中,可能返回 null,可能返回 undefined,如果具体判断 null 还是 undefined 会使程序过于复杂。

注意:判读一个不存在的值时可以采用typeof(notdefinevar)==‘undefined’;

分享到:
评论

相关推荐

    undifined -

    undifined -

    null和undefined的区别

    null和undefined的区别 null :表示无值;undefined : 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。==运算符将两者看作相等。如果要区分两者,要使用===或typeof运算符。使用if (!...

    jquery获得select option值

    使用`.is(":checked")`来判断复选框是否被选中。 2. **设置复选框为选中状态**: ```javascript $("#chk2").prop("checked", true); ``` 使用`.prop("checked", true)`可以设置复选框为选中状态。注意这里使用...

    javascript中基本类型和引用类型的区别分析

    Undifined、Null、Boolean、Number和String。这五种基本数据类型可以直接操作保存在变量中的实际值。 看下面例子: var a = 10; var b = a; b = 20; console.log(a); // 10 var bl = true; var bl1 = bl; bl1 =

    关于C++ Error Spawing C1 我的解决方法

    11. **社区支持**:如果以上方法都无法解决问题,可以尝试在开发者论坛或Stack Overflow等平台寻求帮助,分享你的错误信息和已尝试的解决方案,社区中的专家可能会提供有效的建议。 最后,别忘了记录和学习解决问题...

    解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题

    在Vue.js开发过程中,经常会遇到页面初始化时由于数据还未加载完成而导致访问数据字段时出现`undefined`的错误。这个问题通常是由于Vue组件的生命周期导致的,因为Vue组件在数据请求完成前就已经进行了初次渲染。...

    JavaScript通过filereader接口读取文件

    使用FileReader接口的readAsDataURL方法实现图片的预览。 源代码: <html> <head> <meta ... if(typeof FileReader=='undifined') //判断浏览器是否支持filereader { result.i

    element-ui表格合并span-method的实现方法

    row和column是表格的行和列,里面是当前行和列的值,也就是tableData里的值,rowIndex,columnIndex是当前行和列的序号 :data=tableData6 :span-method arraySpanMethod border style=width:> <el-table-column ...

    vue router 传参获取不到的解决方式

    在当前路由中有一个toArticle方法可以跳转到article页面 methods:{ toArticle:function(index) { this.$router.push({path:'/article',params:this.blogList[index]}); } } 在article中接受不到params ...

    解决ant Design中this.props.form.validateFields未执行的问题

    在使用ant Designd的 form 组件时发现点击提交方法中 this.props.form.validateFields((err, values) => {}) 部分未执行,也没有报错。 原因: 我使用了自定义校验 validator ,在自定义校验方法中有个错误,使用了...

    ES6新特性之变量和字符串用法示例

    本文实例讲述了ES6新特性之变量和字符串用法。分享给大家供大家参考,具体如下: 一、变量 1. LET 我们都习惯用var 来声明变量,现在还可以用let来声明变量,两者的主要区别是作用域:var声明的变量作用域为包围它的...

    jquery tagname 取得方法

    如果你查找Jquery的API,会发现这个好象是Jquery的一个盲点,找来找去也没有明确说明用什么办法可以取到HTML标签的名字,如果直接用 $(“H1”).tagName 这样的方式也... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

    OPC UA (全,PDF文档)

    12. **Information Model**:信息模型定义了如何组织和表达工业过程中的数据。 13. **Message**:消息是由一个实体发送给另一个实体的信息单元。 14. **Method**:方法是客户端可以通过调用来执行的操作。 15. **...

Global site tag (gtag.js) - Google Analytics