boundEvents是一个可能存在或可能不存在的数组。如果不存在,则以下代码将返回“ undefined”:

console.log(typeof boundEvents);


精细。那正是我想要的。现在说我要检查该理论数组是否存在可能存在或可能不存在的密钥。

console.log(typeof boundEvents['click']);


哦哦:

Uncaught TypeError: Cannot read property 'click' of undefined


足够公平,javascript。因此,在检查键之前,让我们检查一下数组是否存在:

if(typeof boundEvents != 'undefined'){
    console.log(typeof boundEvents['click']);
}


可以再次工作,但是我想知道是否有一种方法可以消除if语句,而仅一步一步直接检查boundEvents['click']是否存在?

谢谢!

编辑:完整的答案,从下面合并:

var boundEvents = boundEvents || {};
console.log(boundEvents.hasOwnProperty('click'));

最佳答案

你可以做:

boundEvents = boundEvents || {};
console.log(boundEvents['click']);


或一行:

console.log((boundEvents || {})['click']);

07-24 16:42