JS中如何判断一个值是否为Null
Posted 世界第一好人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中如何判断一个值是否为Null相关的知识,希望对你有一定的参考价值。
前言
在鉴别javascript原始类型的时候我们会用到typeof操作符。Typeof操作符可用于字符串、数字、布尔和未定义类型。但是你运行typeof null时,结果是“object”(在逻辑上,你可以认为null是一个空的对象指针,所以结果为“object”)。
如何判断null
假如我们需要判断temp这个变量是否为null
1.直接等号比较
temp === null
需要为三等而不是双等原因如下:
①"=="会进行强制转换,比如:
100 == "100" ==> 100 == 100 // true
"abc" == true ==> NaN == 1 // false
②"==="则先进行判断是否为同一类型
"==" 只判断等号两边的值是否相等,而不判断类型是否相同。值相同则返回 true
"===" 既要判断值是否相等,也要判断类型是否相同,即全等才能返回 true
如果涉及到对象:
当仅有一侧为引用类型时
2.利用逻辑表达式
if(!tmp && typeof(tmp) != "undefined" && tmp != 0)
alert("null");
怎么判断数组是null还是空??数组空是指数组中没有元素??数组null是数组中元素都是0??
数组为null:是创建了数组的引用,但在堆中并没有数组中的元素例:
int[] array1 = null;
array1是数组类型的空引用,栈中名为array1的内存空间没有存放任何地址。
数组为空:数组是空其实就是数组的长度为0,数组是真正的对象,只是对象中没有元素,也就是说里面没有内容
例:
int[] array = ;
此时创建了数组,数组的长度为0,是一个空数组,但是array不是null,它也是一个对象,只不过它的元素个数为0。
判断数组为空,使用array.length0可以。
但arraynull不可以,这种会报错,Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: -1
直接使用变量名==null
例:
String[ ] arr = null;
if(arr == null)… 参考技术A (1)对于byte 、short 、int 、long、double类型的初始值默认是0;
float默认是0.0,
String默认是null。
(2)是的. 而“ ”本身是一个实例,有自己的对象空间,注意:此时虚拟机已经给它分配了内存,只不过是值为0而已。
(3)不是的. null用来表示一个引用没有实例存在,即虚拟机没有给它分配内存.本回答被提问者采纳
以上是关于JS中如何判断一个值是否为Null的主要内容,如果未能解决你的问题,请参考以下文章