Javascript Js检查是否有一个或多个变量未定义
假设我有多个变量:Javascript Js检查是否有一个或多个变量未定义,javascript,if-statement,var,Javascript,If Statement,Var,假设我有多个变量: var a = 1; var b = 2; var c; var d = 4; var e; 我想检查其中一个(或多个)是否为空,在本例中为var c和var e。 有可能一次全部检查吗 谢谢 这就是你想要的吗 var a = 1; var b = 2; var c; var d = 4; var e; [a, b, c, d, e].some(function(x){return typeof x === "undefined";}); 我认为javascript没有
var a = 1;
var b = 2;
var c;
var d = 4;
var e;
我想检查其中一个(或多个)是否为空,在本例中为var c和var e。
有可能一次全部检查吗
谢谢 这就是你想要的吗
var a = 1;
var b = 2;
var c;
var d = 4;
var e;
[a, b, c, d, e].some(function(x){return typeof x === "undefined";});
我认为javascript没有内省功能,所以你不能只在本地范围内找到所有变量。你不能。如果全部检查是你的目标,那么你应该将它们分组 尝试改用关联数组
var items = {
a:1,
b:2,
d:4
};
//Check empty
if(items.c === undefined){
console.log('c is empty');
}
如果对项目进行迭代,则只会得到已设置的变量。让我们换一种方式试试
null
是表示项为空的另一种方式,可能您实际上希望变量存在
var items = {
a:1,
b:2,
c:null,
d:4,
e:null
};
//Check empty
for(var item in items){
if(items[item] === null){
console.log(item, 'is empty');
}
}
使用typeof。例如,c的类型==='undefined'@Claudiu
var c;控制台日志(c)
。他说空还意味着什么?@Claudiu从他的例子和对其他答案的评论中我想这很清楚。@Claudiu:检查空的最安全的方法是在javascript中使用typeof c=='undefined'{}
,而不是一个关联数组。你需要Map
。@simonzack老实说,我说的是@simonzack:JavaScript中目前没有Map
。有些人将对象称为关联数组。这不是最好的描述,但重点是可以理解的。@cookiemonster@cookiemonster很多地方都实现了它,但是,如果你没有它,你可以使用polyfill。直接使用{}
是一个糟糕的选择。更好的选择是使用Object.create(null)
。