我使用以下代码行来检查JS变量' userName'是或否。
但我总是得到alert "not empty"
请检查我的onready
方法:
$("document").ready(function (){
var userName = "";
if (userName == undefined || userName == null) {
alert('empty');
} else {
alert('not empty');
var div = document.getElementById('title b');
div.innerHTML = div.innerHTML + ',';
}
});
答案 0 :(得分:1)
您将var userName
设置为""
。 永远不会成为null
。
将您的变量声明为var userName;
,而不是var userName = "";
但是,除非您实际使用userName
执行某项操作,否则if / else
将毫无意义。
答案 1 :(得分:1)
空字符串不为空也不是未定义。
您可以使用!
运算符进行检查:
if (!userName) {
// Do the stuff
}
为了完整性:
!"" == true
!null == true
!undefined == true
!"hi" == false
请注意:
!0 == true
!1 == false
!"0" == false
!"1" == false
答案 2 :(得分:1)
没有你的变量既不是未定义也不是null。
你可以做的就是替换这一行
if (userName == undefined || userName == null) {
通过这一行
if (!userName) {
答案 3 :(得分:1)
您需要typeof
个关键字来检查其类型。 !userName
会处理其余的事情,例如null或空值。
if ( typeof userName === 'undefined' || !userName ) {
alert('empty');
}
答案 4 :(得分:1)
尝试
var userName = "";
if (userName.length < 1) {
alert('empty' +"\n"+ userName.length);
} else {
alert('not empty');
var div = document.getElementById('title b');
div.innerHTML = div.innerHTML + ',';
}