我可以在JavaScript中的switch语句中处理"未定义"的情况吗?

egu*_*iar 41 javascript switch-statement

如果我将一个对象传递给case语句,并且有一个未定义的情况,我可以处理这种情况吗?如果是这样呢?如果不可能,那么处理交换机的未定义情况的最佳做法是什么?

Jas*_*ary 55

添加caseundefined.

case undefined:
  // code
  break;
Run Code Online (Sandbox Code Playgroud)

或者,如果所有其他选项都已用完,请使用default.

default:
  // code
  break;
Run Code Online (Sandbox Code Playgroud)

注意:为避免错误,switch必须声明提供给的变量,但可以有一个undefined值.参考这个小提琴并阅读更多关于JavaScript中已定义和未定义的变量.

  • 你知道`undefined`*可以*赋值吗?我的意思是*毕竟是*javascript ;-) (3认同)