js空值的判断及jquery空值判断注意事项
程序员文章站
2022-06-19 16:18:56
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script src="jquery.min.js"></script>
<title>Document</title>
</head>
<body>
<!--<input type="text" class="testss" value="">-->
<script type="text/javascript">
<!-- 1、以下为javascript空值判断 -->
// 情况一
//未定义对象【错误】的判断方法
//console.log("未定义对象:", aa? true : false); // 报错"Uncaught ReferenceError: aa is not defined"
//未定义对象【正确】的判断方法
console.log("未定义对象:", (typeof aa == "undefined") ? true : false); // true
//利用以下封装方法判断未定义对象,也是会报错的
isEmpty(undefined);
// 情况二
var ss = null;
console.log(ss ? true : false); //false
// 情况三
ss = undefined;
console.log(ss ? true : false); //false
// 情况四
ss = "";
console.log(ss ? true : false); //false
<!-- 2、以下为jquery空值判断-->
// 情况五
//当页面【不存在】“.testss”
var jq = $(".testss");
console.log("页面不存在testss:", jq ? true : false); //true
//判断页面是否存在jquery对象,等于0则页面无jquery对象,大于0则页面存在jquery对象:
console.log(jq.length == 0 ? true : false); //false
jq = $(".testss").val(); //当页面不存在“.testss”
console.log("页面不存在testss:", jq ? true : false); //false
//当页面【存在】“.testss”
jq = $(".testss");
console.log("testss存在:", jq ? true : false); //true
//当页面【存在】“.testss”,且值为空时
// ss = $(".testss").val();
// console.log("testss存在,值为空:", ss ? true : false); //false
//综上,以上未定义、null、undefined、""、juqery空值 五种情况,可直接采用以下方式判断
if ("undefined" == typeof(jq) || !jq) {
console.log("---空值或未定义");
} else if(jq.length==0){
console.log("---jquery空值?");
}else{
console.log("---有值");
}
function isEmpty(ss) {
if ("undefined" == typeof ss) { //此种用法错误,不可将其封装到方法内部,应在外部直接使用
console.log("未定义");
return false;
} else if (ss) {
console.log("定义");
return true;
} else {
console.log("定义");
return false;
}
}
</script>
</body>
</html>
本文地址:https://blog.csdn.net/wangbin316/article/details/109245707