使用“"以及“:&”;
The use of "?" and ":"
我已经阅读了很多代码,其中包含if语句,我注意到其他语言也使用了这一点。Asp就是其中之一。尝试过谷歌搜索,但找不到答案。
?:
究竟代表什么以及何时使用。
据我所知,?
等于if()
,:
等于}else{
。
它是三元运算符(尽管在大多数语言中,它最好命名为"条件运算符")。
人们经常会错误地将其称为"如果/其他的简写"。但这用词不当;if/else
是一个语句,?:
是一个表达式。在大多数语言中,这些都是不同的概念,具有不同的语义。
这被称为三元运算符。
在某些情况下,它旨在简化代码。考虑一下:
var str;
if(some_condition)
str = 'yes';
else
str = 'no';
这可以很容易地重写为
var str = some_condition ? 'yes' : 'no';
您的假设是正确的。
这是一个三元运算(维基百科)
本质上,语法是condition ? then-expession : else-expression
。通常用于分配变量:
varname = something == 123 ? "yes" : "no";
但它几乎可以用在任何地方来代替价值。它对避免重复代码最有用:
if( something == 123) {
varname = "yes";
}
else {
varname = "no";
}
您可以阅读文档。您要查找的部分标题为"三元运算符"。
通过使用条件运算符,可以更简洁地表达可能需要if-else构造的计算。例如,以下代码首先使用if语句,然后使用条件运算符,在计算sin函数之前检查是否存在可能的除以零的错误。
if(x != 0.0) s = Math.Sin(x)/x; else s = 1.0;
s = x != 0.0 ? Math.Sin(x)/x : 1.0;
来自http://msdn.microsoft.com/en-us/library/ty67wk28(v=vs.90).aspx
在Java中,这是一种if/else关系。
三元运算的一个例子:
boolean bool = (x==1) ? true : false;
http://en.wikipedia.org/wiki/Ternary_operation
相关文章:
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- 得到"未定义不是函数“;使用显示原型图案时出错
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 是否可以使用动作=“;someFunction()"提交表格时
- 使用javascript"这个“;用于jquery选择器
- 我可以在不使用乘法运算符“”的情况下进行乘法运算吗*"在JavaScript中
- "无法获取/null”;当使用nodejs运行服务器时
- "未捕获的语法错误:意外的标记<"当尝试使用谷歌'核心报告API
- "检测到可能的EventEmitter内存泄漏”;使用Gulp+Watchify+Factor捆绑包
- 尝试过滤“;引号"基于'"类别“;使用流星&mongo
- 强制URL字段不具有“;http://www."使用regex
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- 为什么我得到“;没有方法'indexOf'"在ExtJS4.2中尝试在网格上使用缓冲渲染器时出错
- 可以't删除“;C: fakepath "使用javascript替换和regex
- 如何删除“"使用javascript从字符串中提取字符
- 如何使用Javascript获取当前页面URL,并在<a href="[the_URL]”>
- 我收到一个类型错误,其中包含-"$不是函数“;使用noConflict时
- 如何在“;beforeSend:function()"使用ajax和jquery