JavaScript开关上的错误技术?
JavaScript可能是一种棘手的语言,有许多缺陷。在这个人为的例子中,一个简单的函数在一个开关中返回。没有中断,因为函数将立即返回JavaScript开关上的错误技术?,javascript,Javascript,JavaScript可能是一种棘手的语言,有许多缺陷。在这个人为的例子中,一个简单的函数在一个开关中返回。没有中断,因为函数将立即返回 function getUpperName (animal) { switch(animal) { case 'dog': return 'Dawg'; case 'cat': return 'Kitty'; default: return
function getUpperName (animal) {
switch(animal) {
case 'dog':
return 'Dawg';
case 'cat':
return 'Kitty';
default:
return 'Unknown';
}
}
这被认为是不好的形式,它会有不必要的副作用吗?或者这是标准的JS编程。很好,这是一种常见的做法,因此没有不必要的副作用,因为您实际上是通过返回调用方来离开函数的 另一个提示。有时,您甚至可以看到
switch
语句的以下形式,这对我来说更为简洁:
function getUpperName (animal) {
switch(true) {
case animal === 'dog':
return 'Dawg';
case animal === 'cat':
return 'Kitty';
default:
return 'Unknown';
}
}
你的代码很好。在这种情况下,您不需要任何
中断
,也不会适得其反。检查代码始终是一个好的实践
就我个人而言,我尽量在函数末尾只返回一次函数,因为这样更容易将日志语句添加到代码中。在
开关中不使用usebreak
是完全标准的,其行为也有很好的定义
例如:
[0, 1, 2, 3].map(function f(n) {
var r = 0;
switch(n) {
case 2: ++r;
case 1: ++r;
}
return r;
}); // [0, 1, 2, 0]
然而,大多数人认为这种行为是违反直觉的。因此,他们更喜欢在案例的末尾退出开关
。所以他们使用break
。如果您也想退出该函数,可以使用return
作为return
直接返回,不执行以下操作,应该可以。