Javascript中null值,特别注意的两点

null 是一个javascript字面量,表示空值,就是没有对象被呈现.他是javascript原始值之一.null值常被放在期望一个对象上,但是不引用任何对象的参数位置,也就是说对象的初始化.

我们看下面的一个例子

Javascript

var obj = null;
console.log(typeof obj === "object"); // true

我们通过对null的命名描述来理解,null是被期望在一个对象上,可能在javascript的规范中设这么设定的.所以返回一个true.其实null本身就是一个字面量了,返回null即可,为啥还返回object呢?这应该是规范中存在的BUG吧.

但是要值得注意的是,null与undefined是不同的.undefined是全局变量的一个属性.

当检测null或者undefined时,注意相等(==)与全等(===)两个操作符的区别(前者会执行类型转换),所以我们在设定JAVASCRIPT编写规范中,加入当做比较时,使用全等操作符(===),试试执行下面的代码理解.

Javascript

null === undefined // false
null  == undefined // true

所以大家一定要理解这两点.这些有可能在代码做判断的时候犯错误,也是面试工作中,常出的问题.

本文属于吴统威的博客,微信公众号:bianchengderen,QQ群:186659233 的原创文章,转载时请注明出处及相应链接:http://www.wutongwei.com/front/infor_showone.tweb?id=162 ,欢迎大家传播与分享.

时间: 2024-10-10 14:52:16

Javascript中null值,特别注意的两点的相关文章

微软BI 之SSIS 系列 - 对于平面文件中 NULL 值处理过程中容易极易混淆的几个细节

最近有人问我 OLE DB Destination 中的 Keep Nulls 如何控制 NULL 值的显示,为什么选中了 Keep Nulls 但是数据库中没有 NULL 值? 为什么在 Flat File Source 中勾选上了 Retain null values from the source as null values in the data flow 但是为什么目标表上显示的是一个当前日期,而不是 NULL 值等等,单开此文来解释这些非常容易混淆的概念. 在比较纯粹的 ETL 项

JavaScript中的值类型和引用类型

先抛出一个题目,阿里的笔试面试题(很基础,但确实是阿里的笔试题) var a = {"x": 1}; var b = a; a.x = 2; a = {"x": 3}; console.log(b.x); 大家觉得最后在控制台输出的结果是多少? 如果你答案是2,那你就没必要接下去看了.如果不是.那你就接着看下去来解决你的疑惑吧! JavaScript中的值类型和引用类型 在javascript里面有两种变量类型,一种是值类型,一种是引用类型. 值类型:数值.布尔型.

Sql与oracle中null值的区别

原贴链接请点击: 1 null值的介绍 NULL 是数据库中特有的数据类型,当一条记录的某个列为 NULL ,则表示这个列的值是未知的.是不确定的.既然是未知的,就有无数种的可能性.因此, NULL 并不是一个确定的值. 这是 NULL 的由来.也是 NULL 的基础,所有和 NULL 相关的操作的结果都可以从 NULL 的概念推导出来. 2 oracle中的null值介绍 在不知道具体有什么数据的时候,即未知,可以用NULL, 称它为空,ORACLE中,含有空值的表列长度为零.允许任何一种数据

SQL 中 Null 值使用时需要注意的地方

一.Null不支持大小/相等判断 1.下面的2个查询,不管表 users 中有多少条记录,返回的记录都是0行 select * from  users where deleted_at = null; select * from  users where deleted_at != null; 用常规的比较操作符(normal conditional operators)来将 null 与其他值比较是没有意义的. Null 也不等于 Null 2.将某个值与 null 进行比较的正确方法是使用

【转】Javascript 中 null、NaN和undefined的区别

原址:http://www.cnblogs.com/qiantuwuliang/archive/2010/01/12/1645302.html 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 

JavaScript中null和undefined

JavaScript的数据类型大体分为两类:原始类型和对象类型.其中,原始类型包括数字.字符串和布尔值.此外,JavaScript中还有两个特殊的原始值:null(空)和undefined(未定义),它们不是数字.字符串和布尔值,它们通常分别代表各自特殊类型中唯一的成员. null null是JavaScript语言的关键字,它表示一个特殊值,常用来描述“空值”.对null执行typeof预算,结果返回字符串“object"(如下图),所以说,也可以将null认为是一个特殊的对象值,它的含义是“

JavaScript中null和undefined的区别

在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined.当声明的变量还未被初始化时,变量的默认值为undefined.Null类型也只有一个值,即null.null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象. js 代码 var oValue; alert(oValue == undefi

Javascript 中 null、NaN和undefined的区别

1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->var a1;var a2 = true;var a3 = 1;var a4 = "Hello";var a5 = new O

JavaScript中null和undefined小结

一. 前言 因为对javascript中的null和undefined有些分不清楚,因此在试验之后进行一下小结. 二. 源码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title></title>