javascript中undefined与null一些容易出错的地方

javascript中undefined与null一些容易出错的地方

Laughing
2017-08-03 / 0 评论 / 1,119 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年03月21日,已超过303天没有更新,若内容或图片失效,请留言反馈。

javascript中我们经常会用到undefined以及null,这两种类型还是存在区别的。之前因为在项目中一些特殊的地方涉及到判断是undefined还是null,结果就出现了一些问题。

基础概念

Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined
Null类型也只有一个值,即nullnull用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

使用区别

我们使用if判断null与undefined是否相等时,if语句返回true,如果我们必须区分两种类型,可以使用===进行比较,或者通过typeof获取到数据类型,然后用==进行判断。

<!DOCTYPE html>  
<html>  
<head>  
    <meta charset="utf-8" />  
    <title>首页</title>  
    <!--  
            作者:iamlisen@163.com  
            时间:2017-07-25  
            描述:引入js  
        -->  
    <script src="js/jQuery/jquery-3.2.1.js" type="text/javascript"></script>  
    <script src="js/bootstrap/bootstrap.js" type="text/javascript"></script>  
    <script src="js/bootstrap-select/bootstrap-select.js" type="text/javascript"></script>  
    <script src="js/bootstrap-select/defaults-zh_CN.js" type="text/javascript"></script>  
    <!--  
    作者:iamlisen@163.com  
    时间:2017-07-25  
    描述:引入css  
-->  
    <link href="css/bootstrap/bootstrap.css" rel="stylesheet" />  
    <link href="css/bootstrap/bootstrap-theme.min.css" rel="stylesheet" />  
    <link href="css/bootstrap-select/bootstrap-select.min.css" rel="stylesheet" />  
    <!--  
    作者:iamlisen@163.com  
    时间:2017-07-25  
    描述:自定义js  
-->  
    <script type="text/javascript">  
        $(function() {  
                $("#btn1").click(function(event) {  
                    /* Act on the event */  
                alert(null==undefined);//true  
                });  
  
                $("#btn2").click(function(event) {  
                    /* Act on the event */  
                alert(null===undefined);//false  
                });  
  
                $("#btn3").click(function(event) {  
                    /* Act on the event */  
                alert(typeof(null) == typeof(undefined));//false  
                alert(typeof(null));//object  
                alert(typeof(undefined));//undefined  
                });  
        });  
    </script>  
</head>  
<body>  
    <div class="panel-body">  
        <button type="button" class="btn btn-success" id="btn1" style="margin-top:10px">使用==判断是否相等</button>  
        <br/>  
        <button type="button" class="btn btn-danger" id="btn2" style="margin-top:10px">使用===判断是否相等</button>  
        <br/>  
        <button type="button" class="btn btn-info" id="btn3" style="margin-top:10px">使用typeof判断</button>  
    </div>  
</body>  
</html> 
0

评论 (0)

取消
  1. 头像
    xiaoli
    MacOS · Google Chrome

    试一下

    回复
  2. 头像
    ITFAN
    Windows 10 · Google Chrome

    楼主辛苦了。

    回复