`

undefined,null,NaN,false,"",0

 
阅读更多
1.undefined:以下三种情况typeof 返回类型为undefined,undefined 并不等同于未定义的值,(只能用 === 运算来测试某个值是否是未定义的)
  • 当变量未初始化时
  • 变量未定义时
  • 函数无明确返回值时(或函数没有返回值时返回的都是undefined)

var x;
var y = false;
typeof(x) // "undefined"
x == y // true
x === y // false

2.null:undefined 是由null派生处理的,因此undefined == null,在js中用typeof方法就会发现null其实是一个对象
var x = null;
var y = false;
x == y // true
x === y // false

3.NaN是一个特殊的number类型,表示非数(Not a Number),类型转换失败就会返回NaN,例如:要把一个单词apple转换为数值就会失败,因为没有等价的数值,NaN与任何值都不相等,与自己也不相等。判断是否是NaN类型可以使用 isNaN(),如果返回false则表示是一个数字,否则返回false;
4.false运算时null与undefined都可以被类型转换为false,但不等值于false:

document.writeln(!null, !undefined); //return true,true 
document.writeln(null==false); //return false 
document.writeln(undefined==false); //return false 

5.""
var x = "";
var y = false;
x == y //true
x === y // false

6.0
var x = 0;
var y = false;
x == y //true
x === y // false

注:
1.== 是指等式,与类型无关(Equality, regardless of type.)
  ===是指恒等式,类型必须想匹配(Identity, types must match.)
2.typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"

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); //显示"undefined" 
alert(typeof a1); //显示"undefined" 
alert(typeof a2); //显示"boolean" 
alert(typeof a3); //显示"number" 
alert(typeof a4); //显示"string" 
alert(typeof a5); //显示"object" 
alert(typeof a6); //显示"object" 
alert(typeof a7); //显示"number" 
alert(typeof a8); //显示"undefined" 
分享到:
评论

相关推荐

    有关JS中的0,null,undefined,[],{},””””,false之间的关系

    0与false 0==false true 0与”: 0==” true  0与[]: 0==[] true  0与NaN: 0==NaN false 0与undefined 0==undefined false 0与null 0==null false  0与{} 0=={} false ”空值与一些值的比较 '' == false ...

    JavaScript Undefined,Null类型和NaN值区别

    一 Undefined 类型 只有一种值 undefined 以下三种情况typeof 返回类型为undefined 1. 当变量未初始化时 2. 变量未定义时 3. 函数无明确返回值时(函数没有返回值时返回的都是undefined) undefined 并不等同于...

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

    之前软件开发网发不过类似的文章JavaScript null和undefined区别分析JavaScript Undefined,Null类型和NaN值区别先说说undefined: Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的...

    javascript不同类型数据之间的运算的转换方法

    在js中有5种基础类型数据:string、number、boolean、null、undefined,其中,常用于计算或者比较的类型是前面三种。 基础数据之间的转换 其它类型转化数字 原始数据类型 目标类型Number undefined NaN null 0 ...

    JavaScript中严格判断NaN的方法

    在JavaScript中,假值有false、null、0、”“、undefined 和 NaN。 对于NaN的判断,JS提供了函数isNaN()。但是使用isNaN()函数只能判断变量是否非数字,而无法判断变量值是否为NaN。 于是,应用NaN的性质: > NaN ...

    js中bool值的转换及“&&”、“||”、 “!!”详解

    首先需要知道的是,js中有6个值为false,分别是: 0, ”, null, undefined, NaN 和 false, 其他(包括{}, [], Infinity)为true. 可以使用Boolean()函数或是两次取非就能获得对象的布尔值,例如Boolean(undefined)和!!...

    JavaScript布尔运算符原理使用解析

    undefined null ” false 0 NaN 如果对一个值取反两次,则相当于将其转换为了布尔值,与Boolean()函数的作用相同 !!1 等同于Boolean(‘1’) 且运算符(&&) 且运算符用于多个表达式: 表达式1 && 表达式2 运算...

    ES5 ES6中Array对象去除重复项的方法总结

    [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN].uniq() 输出例子 [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a'] 分析 题目要求给 Array 添加方法,所以我们需要用到 prototype。...

    30个你 “ 不可能全部会做 ” 的javascript题目及答案

    1,以下表达式的运行结果是: ...B.[null,false] C.["object",true] D.其他 3,以下表达式的运行结果是: [[3,2,1].reduce(Math.pow),[].reduce(Math.pow)] A.报错 B.[9,0] C.[9,NaN] D.[9,undefined] …………

    02 数据类型的转换.html

    数据类型:基本类型:数字number、字符串:string、布尔:boolean、null、undefined ...空的对象:数字0 字符'' null undefined 字符串的转换:String() 不管什么类型都相当于在之前的基础上加了一个引号“”

    老生常谈javascript中逻辑运算符&&和||的返回值问题

    NaN null undefined 0 false; 所以3||5返回的是3; 如果||左右两边都是以上类型的值时,会返回最后一个 如 var a=0||null||undefined则a返回的值是undefined; 其次是&&的返回值问题: &&的返回值会返回最早遇到以下...

    JS字符串false转boolean的方法(推荐)

    大家都知道在JS的世界里, 0、-0、null、””、false、undefined 或 NaN,这些都可以自动转化为布尔的 false,那么字符串的”false”是不是false呢,答案是否定的,if(“false”) 来判断的话,是等于true的 ...

    javascript将非数值转换为数值

    以下三个函数将非数值转换为数值:Number() 、parseInt()和 parseFloat() Number()的转换规则 1.Boolean值 true会被转换为1 false会被转换为0 var correct = true ...4.undefined,返回 NaN var vara = undefi

    object-is:符合ES6的Object.is填充程序-区分-0和+0,并且可以与NaN进行比较

    本质上,Object.is返回与===相同的值-但对于NaN为true,对于-0和+0为false。 该软件包实现了接口。 它可以在ES3支持的环境中工作并符合。 例子 Object . is = require ( 'object-is' ) ; var assert = require ( '...

    JavaScript中的undefined学习总结

    在使用了一个并未声明的变量时,或者使用了已经声明但是没有赋值的变量时,又...当未定义的值用于布尔环境,它会转换为false,当它用于一个数字环境,它会转换为NaN,当它用户一个字符串环境,它会转换为”undefined”

    浅谈javascript中的 “ && ” 和 “ || ”|javascript-64438.pdf

    有时候,我们会在jQuery框架或者其他js插件中发现...在js逻辑运算中,我们知道 0、””、null、false、undefined、NaN 这五种数据类型是会被判断为false的。那么,我们在进行js的逻辑运算过程中,就可以根据上面的原理

    Javascript学习笔记1 数据类型

    undefined是不存在,而null是存在,但却无。typeof(null)=object,但null又不是object,这就是null的神奇而独特之处。 boolean:true or false。 Number:NaN和Infinity是两个特殊之数,NaN代表一个无法用数值来表示的...

    JavaScript中三个等号和两个等号你了解多少

    众所周知,用在if条件判断语句中,js有六种假值:false, null, undefined, ”, NAN, 0。先来看几个例子: [] === [] NaN === NaN NaN == NaN 0 == [] '' == [] '' == {} [] == undefined {} == [] null == ...

    js的Boolean对象初始值示例

    下面的代码定义了一个名为 myBoolean 的逻辑对象: var myBoolean=new Boolean() 注释:如果逻辑对象无初始值或者其值为 0、-0、null、””、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true...

    JS短路原理的应用示例 精简代码的途径

    在js逻辑运算中,0、””、null、false、undefined、NaN都会判为false,其他都为true. ||先计算第一个运算数,如果可以被转换成true,则返回左边这个表达式的值,否则计算第二个运算数。即使||运算符的运算数不是...

Global site tag (gtag.js) - Google Analytics