出现undefind和null的几种情况

1、变量未定义:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        console.log(a);  // undefined
    </script>
</body>
</html>

2、变量定义了没有赋值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        var a;
        console.log(a);  // undefined
    </script>
</body>
</html>

3、函数未传参

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        function show(a){};
        console.log(show());   // undefined
    </script>
</body>
</html>

4、只有 return 没有值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        function show(){
            return;
        };
        console.log(show());   // undefined
    </script>
</body>
</html>

5、函数没有返回值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        function show(){

        };
        console.log(show());  // undefined
    </script>
</body>
</html>

出现null的几种情况

1.手动设置变量的值或者对象某一个属性值为null(此时不赋值,会在后面的代码中进行赋值,相当于初始化。)
2.在JS的DOM元素获取中,如果没有获取到指定的元素对象,结果一般是null。
3.Object.prototype._proto_的值也是null。
4.在正则捕获的时候,如果没有捕获到结果,默认也是null。

原文地址:https://www.cnblogs.com/zjx304/p/10640171.html

时间: 2024-11-07 15:31:20

出现undefind和null的几种情况的相关文章

spring java配置方式@value注解取properties内容为null的一种情况

spring中@Value注解是非常方便的 说下在以java方式配时一点需要注意的地方 上代码看吧 1 package com.yangxin.springinaction.demo1; 2 3 import com.alibaba.druid.pool.DruidDataSource; 4 import org.springframework.beans.factory.annotation.Value; 5 import org.springframework.context.annotat

empty对如下8种情况返回true

1.strrchr函数 在W3School站点上的注释如下: strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符.如果成失败,否则返回 false. 实际上,这个函数是查找某个字符,而不是查找字符串,应该参考官方文档 代码示例:$a = 'abcdef.txt'; $b = '.php'; echo strrchr($a, $b);上面的代码输出是:.txt 也就是说,如果$b是字符串,只使用第一个字符,后面的其它字符会忽略 注?php提供

js内存泄露的几种情况

想解决内存泄露问题,必须知道什么是内存泄露,什么情况下出现内存泄露,才能在遇到问题时,逐个排除.这里只讨论那些不经意间的内存泄露. 一.什么是内存泄露 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束.在C++中,因为是手动管理内存,内存泄露是经常出现的事情.而现在流行的C#和Java等语言采用了自动垃圾回收方法管理内存,正常使用的情况下几乎不会发生内存泄露.浏览器中也是采用自动垃圾回收方法管理内存,但由于浏览器垃圾回收方法有bug,会产生内存泄露. 二.内存泄露的几种情况

[转载] js内存泄露的几种情况——javascript系列

想解决内存泄露问题,必须知道什么是内存泄露,什么情况下出现内存泄露,才能在遇到问题时,逐个排除.这里只讨论那些不经意间的内存泄露. 一.什么是内存泄露 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束.在C++中,因为是手动管理内存,内存泄露是经常出现的事情.而现在流行的C#和Java等语言采用了自动垃圾回收方法管理内存,正常使用的情况下几乎不会发生内存泄露.浏览器中也是采用自动垃圾回收方法管理内存,但由于浏览器垃圾回收方法有bug,会产生内存泄露. 二.内存泄露的几种情况

javascript 按位或(|),无符号右移(&gt;&gt;&gt;)运算,组合技巧来实现————密码强度提示,四种情况??

直接上代码,原来的代码中,switch中的第一个case,判断之后,少加了个break 跳出判断语句,害得我查了半天,“怎么样式老是不对,不科学啊,呵呵,原来是没跳出case的判断了,还会执行后面的判断!!,哎,嘿嘿,不过后来还是发现了,开心中...” 原文地址:http://www.cnblogs.com/wybztn/archive/2009/11/18/1605285.html 这里还有个重要的设计技巧, 0001, 0010, 0100, 1000各代表一种情况的话,组合起来就有很多种情

布尔值为假的几种情况

判断变量或表达式的布尔值时,布尔值为假的七种情况: 空字符串 ‘ ’ .字符串 ‘0’ .整型 0 .浮点 0.0 .空数组Array().NULL.FALSE. 1 <?php 2 // 检验以下其中情况是否全部返回布尔值false. 3 if ( '' || '0' || 0 || 0.0 || array() || null || false ) { 4 echo "以上布尔值不全为false!"; 5 }else{ 6 echo "以上布尔值均返回false!&

链表中插入一个节点的三种情况

在链表中插入一个元素可以分为三种情况: 1.在节点的时候 2.在链表中间的任意位置 3.在链表的最后位置,也可以认为这种情况为追加(这个就留到追加的时候来实现) 下面是代码的实现 SN *Insert_S_Node( SN *head ) /* 传入的参数是被插入链表中的头指针 */ { SN *Insert_Node=NULL, *Dest_Node = NULL; /* Insert_Node是将要做成的新链表中的节点 Dest_Node是要插入的节点*/ INT32 OSM = 1, i3

异步 HttpContext.Current 为空null 另一种解决方法

1.场景 在导入通讯录过程中,把导入的失败.成功的号码数进行统计,然后保存到session中,客户端通过轮询显示状态. 在实现过程中,使用的async调用方法,出现HttpContext.Current为null的情况,如下: 2.网络解答 从百度与谷歌查询,分以下两种情况进行解答: 1.更改web.config配置文件 Stackoverflow给出如下解决方案:http://stackoverflow.com/questions/18383923/why-is-httpcontext-cur

小代码 向原文学习 对AVL树的4种情况 用字母标记整理

   /******************  环境:http://anycodes.cn/zh/  AVL  有高度标签    红黑树 更有颜色标记  http://blog.csdn.net/whucyl/article/details/17289841  我们总是以ABC 3个结点为例子 插入元素后C总是不平衡的  LL RR 较为简单   交换后C还是出于下方  LR RL 统一的一句就是  C总提出交换子树,要翻身做了老大.  LL LR与 RR RL是对称的4种情况写了前2种就能写出