检查是否定义了对象/函数(JavaScript,Safari问题)

时间:2013-08-29 18:30:04

标签: javascript safari

我想检查一下是否可以使用对象/函数,例如window.performance.now()if(typeof window.performance.now != 'undefined')工作正常,但Safari(5.1.7,Windows)除外,它返回TypeError: 'undefined' is not an object (evaluating 'window.performance.now')。为避免混淆:console.log(typeof window.performance.now)返回相同的错误。

1 个答案:

答案 0 :(得分:4)

因为Safari不支持window.performance对象本身。所以你要更安全地检查

typeof window.performance !== 'undefined' && typeof window.performance.now !== 'undefined'

<强>更新

第一项检查是查看window.performance对象是否存在。第二项检查是查看.now()对象中是否有window.performance函数。

https://developer.mozilla.org/en-US/docs/Web/API/Performance