是否有一个通用的JavaScript函数来检查变量是否有值,并确保它不是未定义的或空的?我有这个代码,但我不确定它是否涵盖所有情况:
function isEmpty(val){
return (val === undefined || val == null || val.length <= 0) ? true : false;
}
是否有一个通用的JavaScript函数来检查变量是否有值,并确保它不是未定义的或空的?我有这个代码,但我不确定它是否涵盖所有情况:
function isEmpty(val){
return (val === undefined || val == null || val.length <= 0) ? true : false;
}
当前回答
如果变量尚未声明,则无法使用函数测试未定义,因为会出现错误。
if (foo) {}
function (bar) {}(foo)
如果尚未声明foo,则两者都将生成错误。
如果要测试变量是否已声明,可以使用
typeof foo != "undefined"
如果您想测试foo是否已声明,并且它有一个值,您可以使用
if (typeof foo != "undefined" && foo) {
//code here
}
其他回答
检查值是否未定义或为空的详细方法为:
return value === undefined || value === null;
您也可以使用==运算符,但这需要您了解所有规则:
return value == null; // also returns true if value is undefined
此函数检查空对象{}、空数组[]、空、未定义和空字符串“”
function isEmpty(val) {
//check for empty object {}, array []
if (val !== null && typeof val === 'object') {
if (Object.keys(obj).length === 0) {
return true;
}
}
//check for undefined, null and ""
else if (val == null || val === "") {
return true;
}
return false;
}
var val={};isEmpty(val)->trueval=[];isEmpty(val)->trueisEmpty(未定义)->trueisEmpty(null)->trueisEmpty(“”)->trueisEmpty(false)->falseisEmpty(0)->false
function isEmpty(value){
return (value == null || value.length === 0);
}
对于
undefined // Because undefined == null
null
[]
""
和零参数函数,因为函数的长度是它所使用的声明参数的数量。
要禁止后一个类别,您可能只需要检查空白字符串
function isEmpty(value){
return (value == null || value === '');
}
Null或空白
function isEmpty(value){
return (value == null || value.trim().length === 0);
}
如果您正在使用TypeScript,并且不想考虑“值为假”,那么这就是您的解决方案:
首先:从“util”导入{isNullOrUndefined};
然后:isNullOrUndefined(this.yourVariableName)
请注意:如下文所述,现在已弃用此选项,请改用value==undefined||value==null。裁判。
对于我的案例,我尝试了if null,“”!变量,但它不起作用。
查看下面的代码以从html字段获取文本
var status=$(this).text(); //for example (for my case)
如果状态变量中没有值(没有文本),我试图将值“novalue”设置为状态变量。
以下代码有效。
if(status == false)
{
status='novalue';
}
当没有找到satus变量的文本时,上面的代码将“novalue”分配给状态变量