博主信息
樂成的博客
博文
36
粉丝
7
评论
10
访问量
20367
积分:0
P豆:585

微信小程序undefined判断

2019年07月19日 13:59:29阅读数:2420博客 / 樂成的博客 / 微信开发

项目中获取用户昵称,然后存到app.globalData里边但是结果是undefined,所以想判断如果是undefined就继续让调起登陆授权,之前一直没判断好,找了一下资料看了一下是判断出错。。

一、当nickname是空的undefined,看看原先的判断

//这个判断是有误的
if(app.globalData.userInfo['NickName'] != 'undefined'){
...
}

二、改正之后的写法

//1、不要用引号引着
if(app.globalData.userInfo['NickName'] != undefined){
...
}
//2、使用typeof()
if(typeof(app.globalData.userInfo['NickName']) != 'undefined'){
...
}

三、总结一下

1.判断undefined:

var tmp = undefined; 
if (typeof(tmp) == "undefined"){ 
   console.log("undefined"); 
}


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

2.判断null:

var tmp = null; 
if (!tmp && typeof(tmp)!="undefined" && tmp!=0){ 
   console.log("null"); 
}

3.判断NaN:

var tmp = 0/0; 
if (isNaN(tmp) ){ 
   console.log("NaN"); 
}

说明:NaN 表示非法,如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。

提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。

4.判断undefined和null:

var tmp = undefined; 
if (tmp== undefined) 
{ 
   console.log("null or undefined"); 
}
var tmp = undefined; 
if (tmp== null) 
{ 
   console.log("null or undefined"); 
}

说明:null==undefined

5.判断undefined、null与NaN:

var tmp = null; 
if (!tmp) 
{ 
   console.log("null or undefined or NaN"); 
}

提示:一般不那么区分就使用这个足够。

6.判断空对象

让一个对象一开始设为null,通过判断是否为null即可判断


部分参考资料简书


全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
暂无评论暂无评论!
  • 第十期线上培训班