说说null和undefined的那些事】的更多相关文章

网上有很多关于null和undefined的解释,那么今天我们也来简单的聊聊null与undefined的话题,以便解开它们的神秘面纱,当然这这是简单的介绍,在日后会有相应的更新. 为什么用==的时候undefined会等于null 如果你知道javascript有隐式转换的话,那么我想,你应该知道是怎么回事了,在undefined与null比较的时候,undefined会被转换成false,null同样也是fasle,如果将null转换成数字,null就是0,当然这不是本章要说的重点.接着说n…
一.NaN , NaN, 'abc', false] let newArray = JSON.parse(JSON.stringify(arr)) // [1, null, 'abc', false] NaN会转成null 随后判断数组中的数据时,NaN == NaN 是 false, if (items[i] == x) { return i; } 注:items[i]和x均代表NaN,此时i=- 数组拿不到正确下标,所以会得到undefined 例如:[, , ][-] -> undefin…
话不多说直接进入主题:(如果有写的不对的地方欢迎指正) 我们先来看看他们的类型分别是什么: typeof类型检测结果 结论:false是布尔类型对象,0是数字类型对象,null是object对象,undefined类型还是undefined,空字符串是字符串类型对象. 当你用==操作符将这个5个对象进行比较的时候,你会发现: 只有0.空字符串和false可以互相相等==, 而null和undefined和其他三个都不相等, 但null和undefined是相等的. 结论:把0.空字符串和fals…
var a=null; var b=undefined; if(a===null){ //a==null alert("a=null") }else{ alert("a=no") }//->a=null if(b===undefined){ //b==undefined alert("a=undefined") }else{ alert("a=no") }//->b=undefined null与undefined…
读了阮一峰的博客,自己总结一下,便记录一篇博客 在javacript的基本类型中,有2种基本类型,只有1个值,便是null和undefined,都表示的是"无".在一定程度上是相等的,如: 但又不完全相等: 同时,在if的判断条件中也是一致的: if(null)跟if(undefined)是同样的结果. 从定义上来看: undefined表示变量声明但未初始化时的值. null表示准备用来保存对象,还没有真正保存对象的值.从逻辑角度看,null值表示一个空对象指针. 我们可以用type…
写了个 str ="s"++; 然后出现Nan,找了一会. 收集资料如下判断: 1.判断undefined: 代码如下: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); }</span> 说明:typeof 返回的是字符串,有六种可能:&qu…
1997 年,IE 4.0 发布,带来的众多新特性中有一个对未来“影响深远”的 DOM API:document.all.在随后的 6 年里,IE 的市场占有率越来越高,直到 2003 年的 95%. 在这段时间里,产生了两种成千上万的页面.第一种:IE only 的页面,由于超高的市场占有率,开发人员觉得根本不需要考虑兼容性,于是直接使用 document.all,比如: document.all("foo").style.visibility = "visible&quo…
在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理.于是,细想之后,写下本文,请各位大侠拍砖. 总所周知:null == undefined 但是:null !== undefined 那么这两者到底有啥区别呢? 请听俺娓娓道来... null 这是一个对象,但是为空.因为是对象,所以 typeof null  返回 'object' . null 是 JavaScript 保留关…
undefined表示不存在的状态.没有定义的变量,没有定义的对象属性,没有return的函数的返回值等等都是undefined. null表示没有对象.使用上没有差别,只是根据大众的使用习惯,场合不一样. console.log(typeof null); // object console.log(typeof undefined); // undefined //声明一个变量,但是不赋值,既是null也是undefinedvar foo; console.log(foo === undef…
之前在看<JavaScript权威指南>的时候看到三个相等性比较的式子: null == undefined ;// ==>true undefined == false;// ==>false null ==false;// ==>false 对于第一个等式我默认是相等的了,就没有在意,但第二和第三个等式我觉得很奇怪,因为之前有看到过一句“下面这些值会被转换成false: undefined.null.0.-0. ' ' .NaN”,那么为什么后两个等式会不成立呢?当时看书…