如果条件有效,对象内部如何?

时间:2015-06-26 06:19:24

标签: liferay-aui

我见过有人使用这个

            hideTooltip : function() {
               var toolRef = 'population_tooltip';
               if(Helper.tooltipObj[toolRef]){
                  Helper.tooltipObj[toolRef].hide();
               }
           }

Helper.tooltipObj[toolRef]是一个对象。我想知道它是如何工作的?你可以把一个对象放在Javascript中的IF条件中(我们正在使用AUI API)吗?

当有人点击页面上弹出窗口上的按钮时调用该函数(不是javascript警报类型弹出窗口,选择一些东西然后按OK弹出窗口)

1 个答案:

答案 0 :(得分:1)

if (expr) - 任何表达式都有效。如果它评估为“一个对象”,则所有对象在此上下文中评估为“真实表达式”时为真。对于undefined, null, false, "", 0, and NaN,该表达式仅被视为“false-y”

因此,只有当“一个对象”(希望使用所述方法)被赋给该属性时,该条件才会运行 - 如果之前没有赋值,它将评估为未定义。

这个逻辑假定任何其他“真实”(甚至“假”)值是先前的编程错误/合同违规,并且是一种相当常见的习惯用法。

另见: