Shorthand if 语句总是 returns 'false' 而不是赋值
Shorthand if statement always returns 'false' instead of value assigned
我正在尝试使用 Javascript 中的 shorthand if 语句来查明我的参数之一是否为负数,如果是,我想将其更改为特定的价值。这是我的代码:
var findDigit = function(num, nth){
nth = nth < 0 ? nth === -1: nth;
}
我想问的是如果nth是小于0,那么把nth改成-1,如果是不小于大于 0,什么也不做,或者保持原样。当我控制台记录第 n 个参数时,我得到 'false'。
其他时候我也 运行 关注过这个问题。所以我想我要问的是,如何编写没有 'else' 部分的 shorthand if 语句?我有一段代码,如果 if 语句为 true,我希望它为 运行,但如果它为 false,我不希望它做任何事情。谢谢!
除了放置值外,您无需执行任何其他操作:
nth = nth < 0 ? -1: nth;
由于您的 if 语句:nth < 0
将执行以下代码:nth === -1
这是检查(包括类型)是否 nth 恰好为 -1。省略这部分并打印
var findDigit = function(num, nth){
nth = nth < 0 ? -1: nth;
}
我不太了解javascript,但我觉得你在使用比较运算符===,这就是它返回boolean(false)值的原因.
尝试使用 = 来赋值,即:
第 n 个 = 第 n 个 < 0 ?第 n 个 = -1:第 n 个;
希望对您有所帮助。
我正在尝试使用 Javascript 中的 shorthand if 语句来查明我的参数之一是否为负数,如果是,我想将其更改为特定的价值。这是我的代码:
var findDigit = function(num, nth){
nth = nth < 0 ? nth === -1: nth;
}
我想问的是如果nth是小于0,那么把nth改成-1,如果是不小于大于 0,什么也不做,或者保持原样。当我控制台记录第 n 个参数时,我得到 'false'。
其他时候我也 运行 关注过这个问题。所以我想我要问的是,如何编写没有 'else' 部分的 shorthand if 语句?我有一段代码,如果 if 语句为 true,我希望它为 运行,但如果它为 false,我不希望它做任何事情。谢谢!
除了放置值外,您无需执行任何其他操作:
nth = nth < 0 ? -1: nth;
由于您的 if 语句:nth < 0
将执行以下代码:nth === -1
这是检查(包括类型)是否 nth 恰好为 -1。省略这部分并打印
var findDigit = function(num, nth){
nth = nth < 0 ? -1: nth;
}
我不太了解javascript,但我觉得你在使用比较运算符===,这就是它返回boolean(false)值的原因.
尝试使用 = 来赋值,即: 第 n 个 = 第 n 个 < 0 ?第 n 个 = -1:第 n 个;
希望对您有所帮助。