这可能是一个基本的问题,但我很难找到答案。
您希望根据变量A设置变量B
你愿意吗
var B = if(A == "red"){"hot"}else{"cool"}
我觉得这样不行。
我想你可以
if(A == "red"){var B = "hot"}else{var B = "cool"}
这看起来并不特别优雅。我的意思是我更喜欢以var B = ...开头的东西。只是为了弄清楚
这可能是一个基本的问题,但我很难找到答案。
您希望根据变量A设置变量B
你愿意吗
var B = if(A == "red"){"hot"}else{"cool"}
我觉得这样不行。
我想你可以
if(A == "red"){var B = "hot"}else{var B = "cool"}
这看起来并不特别优雅。我的意思是我更喜欢以var B = ...开头的东西。只是为了弄清楚
6条答案
按热度按时间bis0qfac1#
三进制的完美使用
如果为真,三进制表达式将始终返回第一个值,否则返回第二个值。非常适合一次性的if/else语句,但是如果你要使用更多的嵌套条件,为了可读性,一定要使用传统的if/else块。
mrfwxfqh2#
虽然可以使用if语句来实现这一点,但最好使用三元运算符。在您描述的示例中,您将其设置为:
三进制运算符一般工作如下:
还要注意使用
===
来检查比较,而不是使用单个=
,后者是赋值。也可以使用==
,但最终可能不太准确vmdwslir3#
首先初始化变量,然后使用if语句进行比较,并在必要时分配新值
5kgi1eie4#
在你的核心中,你正在声明一个初始化为
"red"
的变量,这是真的,所以else子句永远不会被使用。在JavaScript中,它是一个if-语句,而不是像F#中那样的if-表达式。这意味着你没有初始化B。你要找的可能是
也就是说,如果A是等于
"red"
的字符串,则使用条件运算符()将B初始化为"hot"
,否则将B初始化为"cool"
()运算符有时被不准确地称为ternary operator or more mistakenly the tertiary。只要没有添加其他三元运算符,称之为三元运算符也没什么不好,因为在这一点上,它是二义性的
kfgdxczn5#
第一个选项
第二个选项
ktecyv1j6#
切换到CoffeeScript(编译为JavaScript)。然后您可以执行以下操作:
CoffeeScript中的一切都是表达式!所以你也可以将switch语句的值赋给一个变量:
我知道,我知道,现在没人用咖啡脚本了。但还是很上级。