我从 jQuery 本机代码中获取了以下表达式:
handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || []
我很好奇在什么条件下表达式的最后一部分 - []
- 将被分配给handlers
变量?以下是我的推测:
1)这部分首先执行( jQuery._data( this, "events" ) || {} )
。如果没有附加事件jQuery._data( this, "events" ) === undefined
,则返回空对象。
2)然后{}[event.type] || []
处理这部分。如果event.type
未定义,则返回一个数组并将其分配给handlers
变量。所以这意味着对于要返回的数组来说,event.type
未定义就足够了吗?
我对吗?