考虑以下代码:
if(eform[funcName] !== undefined){
if(eform[funcName].init !== undefined){
//finally do something
}
}
我首先检查
eform
对象是否具有变量funcName
指定的属性。如果是这样,那么我需要检查该属性是否具有init
方法。有什么方法可以将它们组合成单个
if
语句?还是比这更优雅的东西? 最佳答案
使用短路评估:
if (eform[funcName] !== undefined && eform[funcName].init !== undefined)
如果未定义
eform[funcName]
,则从不检查是否为false和eform[funcName].init
的语句。根据首选项/可读性,以下内容也适用:if (eform[funcName] && eform[funcName].init)
关于javascript - 寻找一种更简单的方法来检查对象中的多个属性和方法是否未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7689884/