Как проверить, определена ли переменная JavaScript в браузере?
Я столкнулся с этой проблемой при написании JavaScript, использующего протоколирование FireBug. Я написал код, как показано ниже:
function profileRun(f) {
// f: functions to be profiled
console.profile(f.constructor);
f();
console.profileEnd(f.constructor);
}
Он отлично работает в FireFox/FireBug, но он сообщает об ошибке в IE8 RC1. Итак, я бы хотел проверить, существует ли консольная переменная в рабочей среде.
Ниже код работает отлично в 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);
}
}
Есть ли способ перекрестного браузера проверить?