检查是否定义了对象/函数(JavaScript、Safari问题)
我想检查是否可以使用对象/函数,例如检查是否定义了对象/函数(JavaScript、Safari问题),javascript,safari,Javascript,Safari,我想检查是否可以使用对象/函数,例如window.performance.now()if(typeof window.performance.now!=“undefined”)工作正常,但Safari(5.1.7,Windows)除外,它返回TypeError:“undefined”不是对象(评估“window.performance.now”)。为避免混淆:console.log(typeof window.performance.now)返回相同的错误。因为Safari不支持window.p
window.performance.now()
if(typeof window.performance.now!=“undefined”)
工作正常,但Safari(5.1.7,Windows)除外,它返回TypeError:“undefined”不是对象(评估“window.performance.now”)
。为避免混淆:console.log(typeof window.performance.now)
返回相同的错误。因为Safari不支持window.performance
对象本身。所以你会更安全的检查
typeof window.performance !== 'undefined' && typeof window.performance.now !== 'undefined'
更新
第一个检查是查看window.performance
对象是否存在。第二项检查是查看.now()
函数是否在窗口.performance
对象中可用
因为Safari不支持
window.performance
对象本身。所以你会更安全的检查
typeof window.performance !== 'undefined' && typeof window.performance.now !== 'undefined'
更新
第一个检查是查看window.performance
对象是否存在。第二项检查是查看.now()
函数是否在窗口.performance
对象中可用
谢谢。糟糕的是,在此之后还需要检查
.now()
。是的,检查对象的可用性和函数的可用性是安全的。根据我提供的链接,只有IE9和Opera 15才可以使用对象,而且不支持now()
函数。是否有任何版本的浏览器/JS,在if(a和&b)
中计算b
,假设a
为false
?如果使用&&
,则必须同时检查这两个条件。如果使用|
进行编辑,则仅当a
不满足时才会选中b
。因此,如果性能
不可用,OR操作数仍将不起作用。“如果使用&&它必须同时检查这两个条件。”-此语句不正确。谢谢。糟糕的是,在此之后还需要检查.now()
。是的,检查对象的可用性和函数的可用性是安全的。根据我提供的链接,只有IE9和Opera 15才可以使用对象,而且不支持now()
函数。是否有任何版本的浏览器/JS,在if(a和&b)
中计算b
,假设a
为false
?如果使用&&
,则必须同时检查这两个条件。如果使用|
进行编辑,则仅当a
不满足时才会选中b
。因此,如果性能
不可用,OR操作数仍将不起作用。“如果使用&&它必须同时检查这两个条件。”-此语句不正确。