Javascript:将变量定义为函数调用的最有效方法,或者将null定义为变量
Javascript: Most effecient way to define variable to a function call, or if null to a variable?
使用三元操作符需要调用两次函数。
var colour = (tryAdventurousColour() != null) ? tryAdventurousColour() : 'black';
可以在一行完成吗?
编辑:修正语法编辑:像这样,但更好
var color = ((color = tryadventouscolor ()) != null) ?
使用JavaScript的逻辑或操作符:
var colour = tryAdventurousColour() || 'black';
函数tryAdventurousColour()
将被执行一次。如果它返回一个"真"值,那么colour
变量将被赋给该值,否则colour
将是"黑色"。这完全符合您的场景,因为null
是一个"假"值。
更一般地说,表达式a || b
如果可以转换为真(即"真"),则返回a
,否则返回b
。请注意,非零数字、非空字符串和对象都将被转换为true。null
, undefined, 0, "都将被转换为false。(如果我遗漏了什么,肯定有人会纠正我的)
var colour = (tryAdventurousColour()) ? tryAdventurousColour() : 'black';
相关文章:
- 得到"全局未定义“;全局变量定义清楚时出错
- 使用变量的名称,然后为该变量定义函数
- Javascript 从 php 变量定义 getElementById()
- 使用变量定义宽度和高度
- 函数内部的JavaScript全局变量定义
- Javascript变量定义-澄清
- 为多个变量定义相同的类型,在Webstorm中识别
- 如何用变量定义一个数组,然后用一个数字填充每个数组
- 画布的奇怪行为 上下文变量定义位置导致选项卡处于非活动状态时画布呈现冻结
- 为什么要显式将变量定义为未定义
- Gulp/Grunt 获取触笔工作表中的所有颜色变量,并将它们作为变量定义写入文件
- 是否可以在 Node.js 中为模块变量定义 SET 函数
- ES6 块范围的变量定义作为条件
- 使用 jQuery 获取由变量定义的文本输入的值
- :gt()选择器,为变量定义的索引
- 如何在ASP.NET中将Javascript变量定义为Session
- 带有用户输入的ajax请求变量定义有问题
- 使用ElasticSearch搜索变量定义字段
- 变量定义,不同的输出
- JavaScript变量定义和范围