pyo*_*yon 13 javascript ternary-operator
关于? :JavaScript中的ternary()运算符,我想知道它是如何通过典型浏览器的JavaScript解释器进行评估的:
备选方案A:
备选方案B:
备选方案C:
当然,如果替代A和替代B都没有准确描述三元运算符的工作原理,请解释它是如何工作的.
Fel*_*ing 10
根据规范,它的作用类似于备选方案A:
生产
ConditionalExpression : LogicalORExpression ? AssignmentExpression : AssignmentExpression评估如下:
- 让我们
lref评估的结果LogicalORExpression.- 如果
ToBoolean(GetValue(lref))是true,那么
- 让我们
trueRef评估第一个结果AssignmentExpression.- 返回
GetValue(trueRef).- 其他
- 让我们
falseRef评估第二个结果AssignmentExpression.- 返回
GetValue(falseRef).
"替代A":
(1)? functionOne(): functionTwo()
Run Code Online (Sandbox Code Playgroud)
如果在两个函数上都添加了简单的警报消息,则只有functionOne会显示其消息.
function functionOne(){
alert("one");
}
function functionTwo(){
alert("two");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3030 次 |
| 最近记录: |