不同寻常的if(a in b)JavaScript语法?

Lea*_*yes 2 javascript syntax

我刚刚偶然发现了以下网页,并对使用该in关键字感到有些兴趣.

http://diveintohtml5.ep.io/examples/input-autofocus-with-fallback.html

  • 这是有效的JavaScript吗?
  • 所有浏览器都接受这个吗?
  • 它是如何实际工作的?

当Web浏览器不支持该autofocus属性时,它们使用此语法进行回退.所以这会让我相信这种语法是有效的.

Dig*_*ane 5

所述in如果一个属性对象上定义操作者确认.所以,这是有效的Javascript,几乎在所有浏览器中都被接受.
在这种情况下,代码检查"autofocus"是否是新元素的属性.如果是,则很可能浏览器支持autofocus并且不需要.focus()(或者有人可能正在扩展原型).