`

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值

    jquery获得select option值

    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 =

    关于JavaScript中的关联数组分析

    通常的数组在填充时会隐式或者显示指定数组下标,但JS中数组可以以名字的形式为元素赋值,这就形成了关联数组,如: 代码如下:var arr=new Array();arr[“china”]=”beijing,niaoling,hulan”;arr[“usa”]=”new...

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

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

    JavaScript通过filereader接口读取文件

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

    OPC UA (全,PDF文档)

    OPC Undifined Architechture OPCFoundation网站上要求会员资格才可以下载的资源,非常少见,希望大家珍惜!

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

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

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

    今天小编就为大家分享一篇解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    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 ,在自定义校验方法中有个错误,使用了...

    open62541-current.pdf

    OPC Undifined Architechture,提供下载.....................................................................................................

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

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

    jquery tagname 取得方法

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

Global site tag (gtag.js) - Google Analytics