Javascript 为什么函数返回布尔值?
我正在编写自己的函数,它返回两个参数之间的较低参数 我的第一个解决方案是:Javascript 为什么函数返回布尔值?,javascript,function,return,Javascript,Function,Return,我正在编写自己的函数,它返回两个参数之间的较低参数 我的第一个解决方案是: function min(a, b) { if (a < b) return a; else return b; } console.log(min(0, 10)); // → 0 功能最小值(a、b){ if(a
function min(a, b) {
if (a < b)
return a;
else
return b;
}
console.log(min(0, 10));
// → 0
功能最小值(a、b){
if(a
但我想简化它,并编写了另一个函数:
function min(a, b) {
return a ? a < b : b;
}
console.log(min(0, 10));
// → true
功能最小值(a、b){
返回a?a
为什么我的第二个函数返回布尔值而不是数字?我能改变这种行为吗 应该是
function min(a, b) {
return a < b ? a : b;
}
console.log(min(0, 10));
功能最小值(a、b){
返回a
应该是
function min(a, b) {
return a < b ? a : b;
}
console.log(min(0, 10));
功能最小值(a、b){
返回a
您的三元运算符有点古怪
它应该是布尔值?returnValueForTrue:returnValueForFalse代码>
那么你是在做a?布尔值:b
,我不确定这会变成什么<代码>a?布尔值
将变为布尔值
所以你的应该是
function min(a, b) {
return a < b ? a : b;
}
console.log(min(0, 10));
返回a您的三元运算符有点古怪
它应该是布尔值?returnValueForTrue:returnValueForFalse代码>
那么你是在做a?布尔值:b
,我不确定这会变成什么<代码>a?布尔值
将变为布尔值
所以你的应该是
function min(a, b) {
return a < b ? a : b;
}
console.log(min(0, 10));
返回aa?a
这个表达式是什么意思?我可以改变这个行为吗?
-你需要改变的是你对情况的理解?whentruthy:whenfalsey
有效:如果a为0,那么它是错误的,所以a?a
应该返回b(即10),不是真的。@zerkms完全正确。我没有注意。Thanks@JaromandaX谢谢。a?a
这个表达式是什么意思?我可以改变这个行为吗?
-你需要改变的是你对情况的理解?whentruthy:whenfalsey
有效:如果a为0,那么它是错误的,所以a?a
应该返回b(即10),不是真的。@zerkms完全正确。我没有注意。Thanks@JaromandaX谢谢