JavaScript中的Undefined / Null 类型相关说明
1,综述:
※Undefined 和 Null是JavaScript中的两种数据类型(其他的类型还有:Boolean, String, Number, Object)。
※Undefined类型只有一个值:undefined;Null类型也只有一个值:null。
2,Undefined类型相关说明:
※在使用了var声明了相关变量但未对其初始化时,这个变量的值就是undefined。
※这和未经声明(即未经定义)的变量不一样,如果使用未经声明的变量,会报错ReferenceError: s is not defined。
※对于尚未声明的变量只能进行一个操作:使用typeof 操作符检测其数据类型,然而令人困惑的是,对未经初始化和未经声明的变量执行typeof操作符都返回 undefined 值。这个结果有其逻辑上的合理性,虽然这两种变量从技术角度看有本质的区别,但实际上无论对哪种变量也不可能执行真正的操作。
3,Null类型相关说明:
※首先,null是一个初始化的值。从逻辑角度讲,null值表示一个空的对象指针,所以使用typeof操作符检测null值(或检测值为null的变量)返回值为"object";
※只要意在保存对象的变量还没有真正保存对象,就应该明确的让该变量初始化为null值,这样做不仅可以体现出null作为空对象指针的惯例,而且还有助于进一步区分null和undefined。
4,其他需要注意的地方:
※上面说到如果使用未声明的变量会报错,但如果作为对象的一个属性访问,即使这个属性尚未声明(定义),也不会报错,而是返回undefined。见下例:
alert(sss);//报错
var o = {}; alert(o.sss);//undefined.
一般来说,如果访问对象的属性返回了undefined值,就表示此属性未定义(当然像var o = {sss:undefined}也会返回undefined)。
JavaScript中的Undefined / Null 类型相关说明的更多相关文章
- javascript中的undefined,null,"",0和false的云集
在各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,bool ...
- JavaScript 中的undefined and null 学习
JavaScript 中的undefined and null learn record from the definitive guide to html5 JavaScript 中有两个特殊值:u ...
- javascript中的隐式类型转化
javascript中的隐式类型转化 #隐式转换 ## "+" 字符串和数字 如果某个操作数是字符串或者能够通过以下步骤转换为字符串的话,+将进行拼接操作. 如果其中一个操作数是对 ...
- C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断
C#保留2位小数几种场景总结 场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...
- JavaScript中判断整字类型最简洁的实现方法
这篇文章主要介绍了JavaScript中判断整字类型最简洁的实现方法,本文给出多个判断整数的方法,最后总结出一个最短.最简洁的实现方法,需要的朋友可以参考下 我们知道JavaScript提供了type ...
- javascript中常见undefined与defined的区别
在JavaScript中相信“undefined”与“defined”对大家来说都肯定不陌生,但是又不是很清楚它们的区别,先看两个demo我们再说, 例1. console.log(parms); / ...
- Javascript中的undefined、null、""、0值和false的区别总结
在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBN ...
- javascript中的undefined与null的区别
一.相似性 在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别. var a = undefined; var a = null; 上面代码中,a变量分别被赋值 ...
- javascript中NAN undefined 和null
null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性. NaN 属性是代表非数字值的特殊值.该属性用于指示某个值不是数字.可以把 Num ...
随机推荐
- fread,fwrite
- java 调用webservice接口wsdl,推荐使用wsdl2java,放弃wsimport
网上说wsimport是jdk1.6后自带的客户端生成调用webservice接口的工具,其实我挺喜欢原生的东西,毕竟自家的东西用着应该最顺手啊,但往往让人惊艳的是那些集成工具. 本机jdk1.8.1 ...
- 基于IAR平台FreeRTOS移植
开始这篇文章之前先简单说明一下,我使用的MCU是我们公司自主研发的ACH1180芯片,和STM32差不多,都是Cortex-M4的核,所以移植的过程参考了STM32移植的步骤. 1.解压FreeRT ...
- 查询sqlserver数据库表的记录数
SELECT a.name, b.rows FROM sysobjects AS a INNER JOINsysindexes AS b ON a.id = b.idWHERE (a.type = ' ...
- mysql in 子查询 效率慢,对比
desc SELECT id,detail,groupId from hs_knowledge_point where groupId in ( UNION all ) UNION ALL SELEC ...
- 双硬盘,win10安装到固态盘
1.PE下格式化固态盘的系统盘 2.打开DG分区工具,查看固态盘的系统盘是否为激活状态,红色为激活,如果不是,激活一下 3.用windows安装器,或者hdd安装win10到固态盘 4.bios中启动 ...
- 12条MySQL优化技巧
应用程序慢,原因多多,可能是网络的原因.可能是系统架构的原因,还有可能是数据库的原因. 有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的关系. 程序中嵌入的一行行的SQL ...
- java 坑总结
1.Cannot find current proxy: Set 'exposeProxy' property on Advised to 'true' to make it available. 解 ...
- centos安装python3.7和yum报错解决方法
参考网址 https://www.cnblogs.com/simuhunluo/p/7704765.html https://www.cnblogs.com/linkxu1989/p/6955137. ...
- docker log driver
驱动程序 描述 none 容器没有日志可用,docker logs 什么都不返回 json-file 日志格式化为 JSON.这是 Docker 默认的日志驱动程序. syslog 将日志消息写入 s ...