问题2:javascript里面怎么判断null?

JavaScript五种原始类型(boolean、number、string、null、undefined)中的一种。在鉴别JavaScript原始类型的时候我们会用到typeof操作符。Typeof操作符可用于字符串、数字、布尔和未定义类型。

一、javaScript 五种空值和假值

分别为 undefined,null,false,"",0,这五个值的共同点是在执行 if 语句时都会执行 false 分支,执行对应的非语句的时候都执行 true 分支。

1、undefined:表明变量没有初始化,即 “未定义”;

2、null:js 关键字,用于描述 “空值”,表示数字、字符串、对象是 “无值” 的,typeof 为 object,但不具备对象实例的属性与方法;

3、false、""、0:在 if 语句中表现为假值,但是他们都是有意义的数据,只是被用作空值或假值;

JavaScript 如果要判断变量是否已定义,可以使用 typeof,数据类型如下:

1 typeof(undefined) == 'undefined'
2 typeof(null) == 'object'
3 typeof("") == 'String'
4 typeof(0) == 'number'
5 typeof(false) == 'boolean'

 

typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"

提示:只能用 === 运算来测试某个值是否是未定义的,因为 == 运算符认为 undefined 值等价于 null

注释:null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性 var tmp = undefined; if (typeof (tmp) == "undefined"){ alert ("undefined"); }

二、数据是否为空代码示例

复制代码
 1 //    var a = "";
 2 //    var a = " ";
 3 //    var a = null;
 4 //    var a = undefined;
 5 //    var a = [];
 6 //    var a = {};
 7 //    var a = NaN;
 8     
 9     if(a === undefined) { // 只能用 === 运算来测试某个值是否是未定义的
10         console.log("为undefined");
11     }
12     
13     if(a == null) { // 等同于 a === undefined || a === null
14         console.log("为null");
15     }
16 
17     
18     // String    
19     if(a == "" || a == null || a == undefined){ // "",null,undefined
20         console.log("为空");
21     }
22     if(!a){ // "",null,undefined,NaN
23         console.log("为空"); 
24     }
25     if(!$.trim(a)){ // "",null,undefined
26         console.log("为空");
27     }
28 
29     // Array
30     if(a.length == 0){ // "",[]
31         console.log("为空");
32     }
33     if(!a.length){ // "",[]
34         console.log("为空");
35     }
36 
37     // Object {}
38     if($.isEmptyObject(a)){ // 普通对象使用 for...in 判断,有 key 即为 false
39         console.log("为空");
40     }
复制代码

 

posted @   peifengyang  阅读(401)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示