这是避免错误的好方法吗?

var sql_db = window.openDatabase && openDatabase('table', '1.0', 'description', 4096);


似乎可行,但是如果未实现功能,这是否是避免错误的好方法?稍后,我将仅检查sql_dbundefined / null / false

它是否可以在所有浏览器中使用,并且如果不支持undefined,它是否返回nullfalsewindow.openDatabase

请注意,这不仅与openDatabase有关,而且还包括并非所有浏览器都可能实现的任何功能。我已经在做window.console && console.log()并且工作正常,但是在那种情况下,我没有将任何对象保存到变量中。

最佳答案

是的,这很好,尽管我建议在window.之后也添加&&部分,只是为了防止与任何局部变量发生冲突。

如果未定义全局变量,则它将返回undefined-此行为在浏览器中是一致的,但是请记住,undefined不是保留字,并且在理论上可以被覆盖。为什么有人会这样做,这超出了我,但很高兴知道。

09-25 15:52