Javascript 条件返回或单变量返回
我想知道是否有更好的方法有条件地返回值。 如果不是,它是否会使缩小的Javascript有所不同 我在检查,他们没有提到任何关于这个问题的事情。同 使用多个条件返回:Javascript 条件返回或单变量返回,javascript,google-closure-compiler,uglifyjs,Javascript,Google Closure Compiler,Uglifyjs,我想知道是否有更好的方法有条件地返回值。 如果不是,它是否会使缩小的Javascript有所不同 我在检查,他们没有提到任何关于这个问题的事情。同 使用多个条件返回: function demo(x, y) { if (x < y) { return getX(); } else if (x === y) { return 'equal'; } return getY(); } 功能演示(x,y){ if(x
function demo(x, y) {
if (x < y) {
return getX();
} else if (x === y) {
return 'equal';
}
return getY();
}
功能演示(x,y){
if(x
或具有单一回报并使用变量:
function demo(x, y) {
var position;
if (x < y) {
position = getX();
} else if (x === y) {
position = 'equal';
} else {
position = getY();
}
return position;
}
功能演示(x,y){
var位置;
if(x
使用三元/条件运算符
在Javascript中,条件运算符可以计算为表达式,而不仅仅是语句
var result = x < y ? getX() : getY();
所以你的情况应该是这样的
var result = (x < y) ? getX() : (x == y) ? "equal" : getY();
var结果=(x
以下是对的定义
return语句停止函数的执行,并从该函数返回一个值
显然,有条件返回必须在返回之前包含一个条件。
关于偏好,顾名思义,这实际上是习惯的问题。
如果你习惯了一种语法,比如说,另一种语言,或者你更喜欢它——使用它,因为它可能会减少语法错误
关于缩小代码,我相信switch/case语法最适合于简单条件,而三元操作最适合于双边条件
(注意!前面的哲学段落)
但最后,重要的是,我相信,你会理解你写的代码。而且,凭经验,你会发现什么最适合你。你应该关注可读性。以最容易理解的方式编写代码。如果您从返回时带有一个深嵌套条件,这可能会使将来的读取感到困惑,但是如果您在函数开始时有一系列早期退出,这可能会使代码更可读(与深嵌套相比)。分解大函数,并将混乱留给编译器处理。闭包编译器将为您的任何一个示例生成相同的结果 示例:
还是三元运算符<代码>变量位置=x
var result = (x < y) ? getX() : (x == y) ? "equal" : getY();