什么是window.console&& CONSOLE.LOG?

时间:2013-01-28 11:53:18

标签: javascript jquery

 if (open_date) {
        open_date = get_date_from_string(open_date);
        window.console && console.log(open_date);
        window.console && console.log(cancel_until);

什么是window.console && console.log?它必须在代码中吗?通过这个脚本不适用于IE(所有版本) - > IE runs javascript only after pressing F12

5 个答案:

答案 0 :(得分:17)

如果leftside-expression为truthy,则只会评估rightside-expression。这就是逻辑AND 运算符的工作原理。

它基本上是

的缩写
if( window.console ) {
    console.log( open_date );
}

正如您可能猜到的那样,这种情况的常见模式,因为console对象可能并非在每个浏览器(尤其是手机)上都可用。

答案 1 :(得分:4)

1。)什么是window.console&& console.log?

console.log是指用于调试的控制台对象。对于firefox我使用firebug为例。

但如果控制台不可用,脚本将崩溃。所以window.console会检查控制台对象是否存在,如果是,它会使用其日志功能打印出一些调试信息。

2。)是否必须在代码中?

不,它仅用于调试目的

答案 2 :(得分:3)

window.console && console.log(open_date); 

上面的代码只是if条件语句的缩写。它不必在那里。它用于调试目的。对于大多数浏览器,您可以按F-12打开浏览器调试控制台。 Chrome内置了调试控制台.Firefox有一个名为FireBug的扩展程序,您可以使用它。以下是没有'&&'的等效声明。

if (window.console) console.log(open_date); 

我更喜欢在我的javascript代码的开头添加以下代码,这样我就不必拥有这些"如果"各地的陈述。它确实节省了空间并消除了潜在的错误。

if (typeof console == "undefined") { window.console = {log: function() {}}; }

Jon Dvorak上面的评论包含了一种优雅的替代方式:

console = window.console || {log:function(){}}

答案 3 :(得分:1)

Console.log是浏览器的记录器,用于在浏览器控制台上记录消息。 编辑: 较低版本的Internet Explorer

不支持Console.log

答案 4 :(得分:0)

此条件用于防止IE上的错误...因为,不幸的是,在IE(版本8)中我们无法使用console.log(“”)....但是测试人员仍然在Chrome上查看日志...