我正在尝试检查 jQuery 是否具有对窗口对象的 .hashchange 方法引用,例如
$(window).data('events').hasOwnProperty('hashchange') ?
$(window).hashchange(hashChange) :
window.onhashchange = hashChange;
但我在支持和不支持该功能的浏览器中不断收到“未捕获的类型错误:无法调用未定义的方法'hasOwnProperty'”。有什么想法吗?
最佳答案
一种方法是查看该属性是否只是未定义
if ($(window).hashchange === undefined) {
// Not defined
}
注意:这实际上检查值是否已定义以及名称。可以使用显式的 undefined
值来定义该值,但这两个值对于您的场景可能是等效的
var x = {}
x.test = undefined;
x.hasOwnProperty("test") // true
x.test === undefined // true
关于methods - 检查jQuery方法是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9472344/