JavaScript check if variable exists (is defined/initialized)
本问题已经有最佳答案,请猛点这里访问。
如何检查跨浏览器定义的javascript变量?
我在使用Firebug日志编写一些JavaScript时遇到了这个问题。我写了如下代码:
1 2 3 4 5 6 | function profileRun(f) { // f: functions to be profiled console.profile(f.constructor); f(); console.profileEnd(f.constructor); } |
它在firefox/firebug中运行良好,但在ie8 rc1中报告错误。所以,我想做一些检查控制台变量是否存在于执行环境中。
下面的代码在Firefox中可以正常工作,但在IE8RC1中不行。
1 2 3 4 5 6 7 8 9 10 11 | function profileRun(f) { if (console != undefined) { console.profile(f.constructor); } f(); if (console != undefined) { console.profileEnd(f.constructor); } } |
但是,如果我这样做的话。它在IE8 RC1中工作。为什么?
1 2 3 4 5 6 7 8 9 10 11 | function profileRun(f) { if (window.console != undefined) { console.profile(f.constructor); } f(); if (window.console != undefined) { console.profileEnd(f.constructor); } } |
有没有跨浏览器的方式来检查它?