如何检查是否以跨浏览器的方式定义了JavaScript变量?
在使用FireBug日志编写一些JavaScript时遇到了这个问题。我写了一些代码如下:
function profileRun(f) {
// f: functions to be profiled
console.profile(f.constructor);
f();
console.profileEnd(f.constructor);
}
它在FireFox / FireBug中工作正常,但它在IE8 RC1中报告错误。所以,我想检查一下执行环境中是否存在 console 变量。
下面的代码在FireFox中运行正常,但在IE8 RC1中运行不正常。
function profileRun(f) {
if (console != undefined) {
console.profile(f.constructor);
}
f();
if (console != undefined) {
console.profileEnd(f.constructor);
}
}
但是,如果我这样做的话。它适用于IE8 RC1。为什么?
function profileRun(f) {
if (window.console != undefined) {
console.profile(f.constructor);
}
f();
if (window.console != undefined) {
console.profileEnd(f.constructor);
}
}
是否有任何跨浏览器的方式来检查它?