JavaScript Undefined,Null类型和NaN值区别

一 Undefined 类型
只有一种值 undefined
以下三种情况typeof 返回类型为undefined
1. 当变量未初始化时
2. 变量未定义时
3. 函数无明确返回值时(函数没有返回值时返回的都是undefined)
undefined 并不等同于未定义的值
typeof 并不真正区分是否是未定义
看以下示例代码:
var oTemp;
alert(typeof oTemp); // outputs "undefined"
alert(typeof oTemp2);// outputs "undefined"
alert(oTemp2 == undefined ); // 错误 oTemp2 未定义 不能使用除了typeof之外的不能用来oTemp2其他的运算
当变量
二 Null 类型
只有一个null,undefined 是由null派生处理的,因此undefined == null
undefined 是声明了但是没有初始化的该变量,
null表示尚未存在的对象
三 NaN 值
是一个特殊值,表示非数(Not a Number)
类型转换失败就会返回NaN
e.g. 要把一个单词blue转换为数值就会失败因为没有等价的数值
NaN 不等于自己
即 NaN == NaN 是 false
判断NaN 使用 isNaN();

(0)

相关推荐

  • JS基础之undefined与null的区别分析

    于是,细想之后,写下本文,请各位大侠拍砖. 总所周知: null == undefined 但是: null !== undefined 那么这两者到底有啥区别呢? null 这是一个对象,但是为空.因为是对象,所以 typeof null 返回 'object' . null 是 JavaScript 保留关键字. null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值: 表达式:123 + null结果值:123 表达式:123 * null结果值:0 und

  • Javascript 中 null、NaN和undefined的区别总结

    1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 代码 复制代码 代码如下: var a1; var a2 = true; var a3 = 1; var a4 = "Hello"; var a5 = new Object(); var a6 = null; var a7 = NaN; var a8 = undefined; alert(typeof a); //显示"u

  • JavaScript中undefined和null的区别

     JavaScript中undefined和null的区别 JavaScript两个表示"无"的值:undefined和null.我在平时只是null用的多一点,undefined只是在报错中经常遇到.下面针对这两个数据类型的异同做一下详细的比较. 1.undefined和null在if语句中,都会被自动转为false,相等运算符直接报告两者相等. !null==!undefined==true 2.null表示"没有对象",即该处不应该有值.典型用法是: (1)

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

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

  • JavaScript null和undefined区别分析

    一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理.于是,细想之后,写下本文,请各位大侠拍砖. 总所周知:null == undefined 但是:null !== undefined 那么这两者到底有啥区别呢? 请听俺娓娓道来... null 这是一个对象,但是为空.因为是对象,所以 typeof null 返回 'object' . null 是 JavaScript 保留关键字. null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正

  • js null,undefined,字符串小结

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>null,undef

  • js判断undefined类型,undefined,null, 的区别详细解析

    js判断undefined类型 今天使用showModalDialog打开页面,返回值时.当打开的页面点击关闭按钮或直接点浏览器上的关闭则返回值是undefined所以自作聪明判断 var reValue=window.showModalDialog("","","");   if (reValue== undefined){  alert("undefined"); } 发现判断不出来,最后查了下资料要用typeof 方法:

  • javascript中的undefined 与 null 的区别 补充篇

    之前我们发不过类似的文章JavaScript null和undefined区别分析 JavaScript Undefined,Null类型和NaN值区别 先说说undefined: Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的时候只需使用var关键字即可.如果是像C这样的强类型语言, 声明变量的时候如果没有指定初始值,那么会给他一个默认值,比如int变量的默认值是0.但是在Javascript这样的弱类型语言中,没有办法确定到底该给这样的变量一个什么样

  • JavaScript Undefined,Null类型和NaN值区别

    一 Undefined 类型 只有一种值 undefined 以下三种情况typeof 返回类型为undefined 1. 当变量未初始化时 2. 变量未定义时 3. 函数无明确返回值时(函数没有返回值时返回的都是undefined) undefined 并不等同于未定义的值 typeof 并不真正区分是否是未定义 看以下示例代码: var oTemp; alert(typeof oTemp); // outputs "undefined" alert(typeof oTemp2);/

  • Javascript中Date类型和Math类型详解

    Date类型 ECMASCript中的Date类型是在早期中Java中的java.util.Date类基础上构建的.为此Date类型使用自UTC(国际协调时间)1970年1月1日午夜(0时)开始经过的毫秒数来保存日期. 创建日期对象 1.创建当前日期.不需要传入参数 2.创建指定日期.需要传入参数,必须传入表示该日期的毫秒数(即从1970年1月1日午夜起至该日期止经过的毫秒数).为了简化这一计算过程,ECMAScript提供了两个方法:Date.parse()和Date.UTC(). var n

  • 使用javascript:将其它类型值转换成布尔类型值的解决方法详解

    1.利用Boolean对象进行转换 复制代码 代码如下: var num123 = 123, str = 'abc', o = {name:'test'}, num0 = 0; num123 = Boolean(num123); //true num0 = Boolean(num0); //false str = Boolean(str); //true o = Boolean(o); //true 2. 利用两个'!'运算符,第一个'!'将值转换成布尔值并取其值的非值,第二个'!'将其布尔值还

  • 递归输出ASP.NET页面所有控件的类型和ID的代码

    写一个方法: 复制代码 代码如下: private void DisplayAllControl(Control control, int step) { foreach (Control ctl in control.Controls) { string s = new string('-', step * 4) + ctl.GetType().Name + "〈" + ctl.ID + "〉"; Response.Write(s + "<br/&

  • JavaScript undefined及null区别实例解析

    在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别. var a = undefined; var a = null; 上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价. undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等. if (!undefined) console.log('undefined is false'); // undefined is false if (!

  • javascript 中null和undefined区分和比较

    javascript 中null和undefined区分和比较 Undefined类型 Undefined 类型只有一个值,即特殊 undefined .在使用 var 声明变量但未对其加以初始化时,这个变量的值就是 undefined , 例如: var message; alert(message == undefined); //true 这个例子只声明了变量 message ,但未对其进行初始化.比较这个变量与 undefined 字面量,结果表明它们是相等的.这个例子与下面的例子是等价

  • MySQL中Decimal类型和Float Double的区别(详解)

    MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值. float,double类型是可以存浮点数(即小数类型),但是float有个坏处,当你给定的数据是整数的时候,那么它就以整数给你处理.这样我们在存取货币值的时候自然遇到问题,我的default值为:0.00而实际存储是0,同样我存取货币为12.00,实际存储是12. 幸好mysql提供

  • javascript学习笔记(六)数据类型和JSON格式

    什么是JSON JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON的形式是用大括号"{}"包围起来的项目列表,每一个项目间用逗号(,)分隔,而项目就是用冒号(:)分隔的属性名和属性值.这是典型的字典表示形式,也再次表明javascript里的对象就是字典结构.不管多么复杂的对象,都可以用一句JSON代码来创建并赋值. JSON 结构 JSON有两种结构 json简单说就是javascript中的对象和数组,所以这两种结构就是对

随机推荐