[英]javascript switch statement/case expression
我正在使用switch语句搜索未定义的值以手动更改它。 但是我在使用布尔表达式时遇到麻烦,就像在使用if语句时那样。
像: 如果statemant
if(Item1 == undefined)
{
item1 ="No";
}
else if (Item2 == undefined)
{
item2 = "No";
}
等等..
我尝试使用switch语句 :
switch (array) {
case (item1 == undefined):
item1 = "No";
console.log('item1 result', item1 );
break;
case item2 == undefined:
item2 = "No";
console.log('item2 result', item2 );
break;
default:
}
它不会通过switch语句运行,除非我删除== undefined
且仅使用item1
。 那行吗?
switch
无法像这样评估数组的值,这就是为什么它不通过switch语句运行的原因。 您需要定义要切换的那个数组的值。
在case statement
您也不能使用表达式,您也必须在其中使用一个值。
因此,如果您不愿意使用switch
来尝试完成任务,则可以执行以下操作:
item1 = array[1];
switch(item1) {
case "undefined":
// so on
break;
}
但是,根据您的示例,您可能正在尝试检查是否设置了值,因此, if
语句仍然是最佳选择,而不是切换。
$arr = []; // Your array
if(typeof $arr[0] == "undefined") {
$arr[0] = "No";
}
开关只能应用1个变量,如下所示:
switch (array) {
case 'undefined':
item1 = "No";
console.log('item1 result', item1 );
break;
case array.length:
item2 = "No";
console.log('item2 result', item2 );
break;
}
for(var i=0;i<array.length;i++){
switch(array[i]) {
case "undefined":
//so on
break;
}
}
在读取函数的参数时很有用。
简短而简单的方法是
item1 = (item1 == null)? item1 : 'no';
item2 = (item2 == null)? item2 : 'no';
如果undefined
item
或为null
,则将为该项目分配值。
ps这是用于检查null或undefined,并且比使用switch更好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.