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)。

时间: 2024-10-28 12:49:37

JavaScript中的Undefined / Null 类型相关说明的相关文章

javascript中的undefined,null,"",0和false的云集

在各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolean值本身就是tru

区分JavaScript中的undefined,null和NaN

区分underfined,null和NaN 先看看下面语句的运行结果: 1: var a; 2: alert(a); //显示"undefined" 3: alert(typeof a); //显示"undefined" 4: alert(b); //显示"undefined" 以上说明a的值和类型都是'underfined' 1: var a = null; 2: alert(a); //显示"null" 3: alert(

javascript中的隐式类型转化

javascript中的隐式类型转化 #隐式转换 ## "+" 字符串和数字 如果某个操作数是字符串或者能够通过以下步骤转换为字符串的话,+将进行拼接操作. 如果其中一个操作数是对象(包括数组),则首先对其调用`ToPrimitive`抽象操作,该抽象操作再调用`[[DefaultValue]]`,以数字作为上下文. `[1,2]+[3,4]=='1,23,4'` 原因,因为数组的valueOf操作无法得到简单的基本类型,于是它转而调用toString.因此上栗得到的是'1,23,4'

javascript中常见undefined与defined的区别

在JavaScript中相信"undefined"与"defined"对大家来说都肯定不陌生,但是又不是很清楚它们的区别,先看两个demo我们再说, 例1. console.log(parms); //在控制台出现 Uncaught ReferenceError: parms is not defined 例2. var flag; console.log(flag); //在控制台出现 undefined 通过上面两个例子就能很清楚的看出它两的区别了,not de

Javascript中的undefined、null、""、0值和false的区别总结

在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolean

Javascript中判断 Undefined 还是 Null 的方法

在 JavaScript 中, null 用于对象, undefined 用于变量,属性和方法. 对象只有被定义才有可能为 null,否则为 undefined. 如果我们想测试对象是否存在,在对象还没定义时将会抛出一个错误. 错误的使用方式: if (myObj !== null && typeof myObj !== "undefined") 正确的方式是我们需要先使用 typeof 来检测对象是否已定义: if (typeof myObj !== "un

javascript中NAN undefined 和null

null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性. NaN 属性是代表非数字值的特殊值.该属性用于指示某个值不是数字.可以把 Number 对象设置为该值,来指示其不是数字值. null: 表示没有值,但是null本身是一个object  在控制台执行  typeof  null  的结果是object 1 var ob={}; 2 console.log(ob) 结果是:Object {} var ob; typeof ob;

区分JS中的undefined,null,"",0和false

在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库 字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和 不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boole

javascript中的数据类型Null

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript"> 7 8 /* 9 * Null(空值)类型的值只有一个,就是null 10 * null这个值专门用来表示一个为空的对象 11 * 使用typeof检查一个nu