我刚刚阅读了一篇文章,该文章建议使用in
运算符进行浏览器功能和对象属性检测。给出的示例是使用:
if("geolocation" in navigator) {
// Do some stuff
}
而不是:
if(navigator.geolocation) {
// Do some stuff
}
然而,它没有提到 hasOwnProperty,尽管下面的代码似乎工作得很好:
if(navigator.hasOwnProperty('geolocation')) {
// Do some stuff
}
在某些情况下我应该使用in
而不是hasOwnProperty
反之亦然?或者它只是一种风格选择?