function hasEvent(event, entry) {
return entry.events.indexOf(event) != -1;
}
entry.events.indexOf(event)
是什么意思?
答案 0 :(得分:2)
entry
是一个具有events
属性的对象(可能是一个数组)。 events
的方法为indexOf
。然后,检查event
中events
的索引,并与-1进行比较。
它不是组合变量,只是访问对象属性。
答案 1 :(得分:1)
event
和entry
是变量,events
是entry
变量引用的对象的属性。
Javascript中的数组和字符串提供indexOf
方法,该方法搜索引用该值的数组或字符串并返回其索引。
例如:
"one two three".indexOf("two"); // 4
和
[21, 15, 99].indexOf(99); // 2
答案 2 :(得分:1)
indexOf()
是数组的标准方法。引用Mozilla:
hasEvent()
方法返回可在数组中找到给定元素的第一个索引,如果不存在则返回-1。
因此event
函数只是检查entry.events
数组中是否存在indexOf()
的值。
N.B。 indexOf()
也是JavaScript String对象的标准方法。再次引用Mozilla:
typeof entry.events === 'string'
方法返回第一次出现指定值的调用String对象中的索引,从fromIndex [可选的第二个参数]开始搜索。如果找不到值,则返回-1。
如果hasEvent()
返回true,则event
函数会检查entry.events
字符串中的{{1}}值是否存在。