undefined是一种类型,javascript常用的类型有:Undefined,Null,Boolean,Number,String。如果一个变量没定义或者定义后没初始化,typeof就会返回"undefined“(注意:有引号的)

参考下面的代码:

<script language="javascript">
document.write(typeof undefined+"<br>");
var a;
document.write(typeof a+"<br>");
document.write(typeof variable+"<br>");
if(typeof(variable) =="undefined"){
document.write( "variable is undefined <br>");
}
</script>

此处,我们看到,两个结果都为undefined,即使第undefinedValue2没有被声明,依然可以得到输出.

下面简单介绍typeof

typeof运算符

对变量或值使用typeof运算符将会返回下列值之一:

"undefined" 如果变量是Undefined类型的
"boolean" 如果变量是Boolean类型的
"number" 如果变量是Number类型的
"string" 如果变量是String类型的
"object" 如果变量是一种引用类型或者Null类型的
"function" 如果变量是一种function类型的

注意:

1.返回值为字符串类型.
2.和原始类型比,还差了个null,这个比较特殊,使用typeof(null),返回的是"object",我们将null理解成是object的占位符.
3.对未声明的变量使用其他操作符,都会引起错误,因为其他运算符只能运行于已声明的变量上.
4.如果函数没有明确的返回值,则函数的返回值也是undefined
5.值undefined并不等同于未定义的值.但typeof运算符并不能真正区分这两种值.

undefined:   代表一切未知的事物,啥都没有,无法想象,代码也就更无法去处理了。
                     注意:typeof(undefined) 返回也是 undefined。 可以将undefined赋值给任何变量或属性,但并不意味了清除了该变量,反而会因此多了一个属性。

null:            有那么一个概念,但没有东西。无中似有,有中还无。虽难以想象,但已经可以用代码来处理了。
                     注意:typeof(null)返回object,但null并非object,具有null值的变量也并非object。

boolean:      是就是,非就非,没有疑义。对就对,错就错,绝对明确。既能被代码处理,也可以控制代码的流程。

number:      线性的事物,大小和次序分明,多而不乱。便于代码进行批量处理,也控制代码的迭代和循环等。
                     注意:typeof(NaN)和typeof(Infinity)都返回number 。 NaN参与任何数值计算的结构都是NaN,而且 NaN != NaN 。
                      Infinity / Infinity = NaN 。

关于undefined的含义相关推荐

  1. Javascript中undefined和not defined有什么区别?

    概念上的解释: undefined是javascript语言中定义的五个原始类中的一个,换句话说,undefined并不是程序报错,而是程序允许的一个值. not defined是javascript ...

  2. 计算机语言学习导论[C/C++]

    作者:@幻の上帝 1 前置条件 语文其实挺重要,这个没问题,但容易被忽视.当然,如果不是经常要折腾文档,要求不高:但起码要能说清楚话. 数学重要,主要是广度,作为快速学习相关领域知识的基础.深度上面可 ...

  3. TS笔记--------Jonathan

    Typescript 1.什么是 Typescript(TS) Typescript 简称 TS TS 和 JS 之间的关系类似 Less/Sass 和 CSS 之间的关系,就像 Less/Sass ...

  4. Flink-作业提交流程

    Flink-作业提交流程 快速索引 StreamGraph JobGraph ExecutionGraph RuntimeGraph 1 背景 1.1 概述 Flink DataStream一个作业提 ...

  5. Flink学习1-基础概念

    Flink学习1-基础概念 Flink系列文章 更多Flink系列文章请点击Flink系列文章 更多大数据文章请点击大数据好文推荐 摘要 本文是作者学习Flink的一些文档整理.记录和心得体会,希望与 ...

  6. 解剖JavaScript中的null和undefined

    在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理.于是,细想之后,写下本文,请各位 ...

  7. [二]Java虚拟机 jvm内存结构 运行时数据内存 class文件与jvm内存结构的映射 jvm数据类型 虚拟机栈 方法区 堆 含义...

    前言简介 class文件是源代码经过编译后的一种平台中立的格式 里面包含了虚拟机运行所需要的所有信息,相当于 JVM的机器语言 JVM全称是Java Virtual Machine  ,既然是虚拟机, ...

  8. ajaxfileupload返回结果undefined_Null amp; Undefined 简易对比

    场景导入 在 JS 中,表示空有两种类型,一种是null, 而另一种是undefined.但其实,这两种"空"有不同含义,我们在面试中也经常会被问到.今天我们就来整理一下null和 ...

  9. JavaScript中七种函数调用方式及对应 this 的含义

    http://blog.sina.com.cn/s/blog_621f1e120100rj21.html this 在 JavaScript 开发中占有相当重要的地位,不过很多人对this这个东西都感 ...

最新文章

  1. mysql 树表删除无效节点
  2. Ubuntu14.04安装pip及配置
  3. luogu P1774 最接近神的人_NOI导刊2010提高(02)
  4. RUNOOB python练习题17
  5. oracle行转列 case,Oracle 行转列总结 Case When,Decode,PIVOT 三种方式
  6. OpenGL ES 简单教程
  7. Android开发技术周报 Issue#101
  8. CentOS7忘记root密码的解决方法
  9. 老罗锤子手机公布会,我感到深深地愧疚
  10. qpython3安装kivy_kivy学习之路:kivy开发环境架设--- windows篇
  11. LONG RAW转换BLOB
  12. 设计模式七大原则——单一职责原则
  13. Python基础语句(一)
  14. SAP Data Service操作简介
  15. 基于MUI的电影新闻的webapp项目开发
  16. MyBatis初学总结(五)
  17. Springboot + rxtx 实现串口读写 案例
  18. 2021CSP-J3
  19. 实验7-1-9 数字加密 (15 分)
  20. 不用root卸载手机系统软件

热门文章

  1. 数字资产的价值激发:NFT 质押
  2. prime95 for linux
  3. 如何修改CAD图中的一些块颜色?
  4. 小冰发布全球首款人工智能「Office」,沈向洋:我们不走寻常路
  5. 解决netgear路由器总掉线的问题
  6. html外边距图,css margin外边距详细图解分析
  7. 北森秋招(代做与题库都可)
  8. 如何解决深度VISTA GV2.0子网掩码多了一个141.41.94.121的问题!
  9. Not all slots covered! Only 10922 slots are available
  10. 笔记本简易拆机清灰尘教程