js中的null类型

null类型是第二个只有一个值的类型,这个的特殊值是null,从逻辑角度看,null值表示一个空对象指针,而这也正是typeof 检测null值时会返回object的原因

     var car = null;
    alert(typeof car);//弹出object

如果定义的变量将来用于保存对象,那么最好将该变量初始化为null而不是其他值。这样一来,只要检查null值就可以知道相应的变量是否已经保存了一个对象的引用,如下面的例子

    if(car != null){
      alert(2);//对car 对象进行操作
    }

实际上,undefined值是派生自null值的,因此ECMAScript-262规定对他们的相等性进行测试要返回true;

alert(null == undefined);//弹出ture

这里位于null和undefined之间的相等操作符(==)总是返回true,不过注意的是这个操作符出于比较目的会转换其操作数。

尽管null和undefined有这样的关系,但是他们的 用途完全不同,如前面所说的那样,无论什么样的情况下,都没有必要把一个变量的值显示的设置为undefined,可是同样的规则对null却不适用。换句话说,只要目的是在保存对象的变量还没真正保存对象时,那么就应该明确的将变量保存成Null.这样做不仅可以体现null做为空对象指针的惯例,还可以进一步区分null和undefined.

时间: 2024-12-29 13:17:16

js中的null类型的相关文章

聊一聊js中的null、undefined与NaN

零.寒暄 翻翻自己的博客,上一篇竟然是六月26号的,说好的更新呢?回顾刚刚过去的这个七月,整天都是公司的入职培训加上自己的小论文,每天奋战到凌晨1点多,这是要挂的节奏啊!但是不论怎么说,自己的时间管理还是出了问题,以后一定要好好的规划一下,不多说,来正题! 自己为什么要写这篇文章呢?因为在吃完早饭,消化的时候,整了几行代码,然后发现整挂了... 大致代码如下: function getByClass(clsName, parent){ if(parent=="undefined"){

JS中 判断null

以下是不正确的方法: var exp = null; if (exp == null) { alert("is null"); } exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样. 注意:要同时判断 null 和 undefined 时可使用本法. var exp = null; if (!exp) { alert("is null"); } 如果 exp 为 undefined,或数字零,或 f

Ext.js 中 25种类型的Ext.panel.Tool

通过Ext.panel.Panel的tools配置项来设置Ext.panel.Tool实例. 要注意的一点是,Ext框架提供的Ext.panel.Tool仅包含按钮图标而具体的点击事件处理函数需要我们自定义. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

java中的null类型---有关null的9件事

摘自 https://blog.csdn.net/qq_25077777/article/details/80174763 今天听到一个问题,java中的null类型,null竟然是一种类型 java语言中有两种类型,一种是基本类型,还有一种是引用类型.还有一个特殊的null类型即表达式null的类型,它没有名字. 因为null类型没有名字,所以不可能声明为null类型的变量或者转换为null类型. null引用是null类型表达式唯一可能的值. null引用可以转换为任意引用类型. 实际上,程

js中的null和undefined

null为js中的keyword,表示空值.null能够看作是object类型的一个特殊值,假设一个object的值为null,表示这个对象不是有效的对象. 这里的null和0不是一回事.在c++中null通常定义为0,可是在js中并非这样. undefined不是jskeyword,其为一个全局变量,即Global的一个属性,一下3种情况会返回undefined: 1.使用了一个没有定义的变量: 2.使用了已经定义但未赋值的变量.             3.使用了一个对象属性.可是该属性不存

JS中的各种类型转换规则(转)

JS中的类型转换非常恶心,大家都懂的,不过该学还是要学. 今天看犀牛书看到了转换规则,总结出来. X转字符串.数字.布尔值 X表示各种类型的值,直接上图: 值 转数字 转字符串 转布尔值 undefined NaN “undefined” false null 0 “null” false true 1 “true”   false 0 “false”   0   “0” false -0   “0” false NaN   “NaN” false Infinity   “Infinity” t

js中的变量类型

js 中输出定义变量的类型  typeof  变量名. var u:  --underfined类型 var s = "你是一个好人":   --string类型 var n = 10;   --number类型 var  num = NaN;  --number 类型,not a number. var  n = null:   -- object类型 var d = new Date();   --时间 var a = new Array();   --数组

JS 中对变量类型的判断

总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toString.call  或 jquery中的 $.type 检测 在 JS 中,有 5 种基本数据类型和 1 种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array,

JS 中对变量类型的五种判断方法

5种基本数据类型:undefined.null.boolean.unmber.string 复杂数据类型:object. object:array.function.date等 方法一:使用typeof检测 当需要变量是否是number,string,boolean ,function,undefined,json类型时,可以使用typeof进行判断:其他变量是判断不出类型的,包括null. typeof是区分不出array和json类型的,因为使用typeof这个变量时,array和json类