2 回答
TA贡献1865条经验 获得超7个赞
您正在理解Undefined错误
未定义意味着已经声明了一个变量,但该变量的值尚未定义(尚未分配值)。例如:
function isEmpty(value){
// or simply value===undefined will also do in your case
if(typeof(value)==='undefined'||value==''||value.length==0){
return true;
}
return false;
}
let foo; // declared but not assigned a value so its undefined at the moment
console.log(isEmpty(foo))
添加 - 什么是未捕获的 ReferenceError: "x" 未定义。
某处引用了一个不存在的变量。这个变量需要声明,或者你需要确保它在你当前的脚本或作用域中可用。
很明显,您没有在上下文中的任何地方引用您的变量,因此您会遇到该异常。跟进链接
这是您可以通过捕获引用错误来检查变量是否在范围内或是否已声明的方法
// Check if variable is declared or not
//let value;
try {
value;
} catch (e) {
if (e.name == "ReferenceError") {
console.log("variable not declared yet")
}
}
// or the function approach
function isEmpty(value){
// or simply value===undefined will also do in your case
if(typeof(value)==='undefined'||value==''||value.length==0){
return true;
}
return false;
}
try {
isEmpty(value);
} catch (e) {
if (e.name == "ReferenceError") {
console.log("variable not declared yet")
}
}
TA贡献2037条经验 获得超6个赞
这就是您正在寻找的,对value===undefined首次修复的测试。
const isEmpty = (value) => value===undefined||typeof(value)==='undefined'||value===''||value.length===0;
let foo;
let bar = 'test';
console.log(isEmpty());
console.log(isEmpty(foo));
console.log(isEmpty(bar));
添加回答
举报