javascript - 何时使用 "in"与 "window."

标签 javascript

更具体

if("indexedDB" in window)

对比

if(window.indexedDB)

我总是使用第二种方法,但在 net tuts tutorial 中他们正在使用方法 1。

最佳答案

'indexedDB' in window (注意您需要引号)检查窗口是否具有名为 indexedDB 的属性(不带引号,它是“名称存储在indexedDB 变量”)

window.indexedDB 检查具有该名称的属性是否为真。

现在,在许多情况下,尤其是在功能测试中,您已经知道您正在寻找一个对象,因此使用哪种方法没有区别。然而,在更一般的情况下:

window.derp = false;
if( 'derp' in window) { /* true */ }
if( window.derp) { /* false */ }

关于javascript - 何时使用 "in"与 "window.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955145/

相关文章:

javascript - 将div的内容设置为小写

javascript - 在 ajax 进行时取消绑定(bind)事件处理程序

javascript - Tablesorter 无法处理表

javascript - 如果在 iframe 中显示/隐藏 div

javascript - 用于查找除以 172 开头的 IP 地址之外的所有 IP 地址的正则表达式

javascript - 选择输入时显示隐藏的跨度

javascript - 性能: findIndex vs Array.原型(prototype).map

javascript - 从 Ember 中的 Controller 操作返回一个 promise ?

javascript - Ajax 发布数据并返回错误消息

javascript - V8 不会清理所有垃圾