1、判断undefined:

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

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

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

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"); 
}

提示:一般不那么区分就使用这个足够,举例说明:

    if (typeof (username) == '' || typeof (username) == 'undefined') {
      wx.showModal({
        title: "系统提示",
        content: "资产管理员账号不能为空!",
        showCancel: false
      })
    }else if (typeof (pwd) == '' || typeof (pwd) == 'undefined') {
      wx.showModal({
        title: "系统提示",
        content: "资产管理员密码不能为空!",
        showCancel: false
        
      })
    } else {
      console.log("账号:" + username + "密码:" + pwd)
}
 },
带符号 * 的表示必填项