13
 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 仅在按 F12 后运行 javascript

4

5 回答 5

17

只有当 leftside-expression 为 时,才会计算 rightside-expression truthy。这就是逻辑 AND运算符的工作原理。

它基本上是缩写

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

您可能猜对了,这是这种情况下的常见模式,因为该console对象可能并非在每个浏览器(尤其是移动设备)上都可用。

于 2013-01-28T11:54:51.783 回答
5

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

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

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

2.) 它必须在代码中吗?

不,它仅用于调试目的

于 2013-01-28T12:09:34.377 回答
4
window.console && console.log(open_date); 

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

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

我更喜欢在我的 javascript 代码的开头添加以下代码,这样我就不必到处都有这些“if”语句。它确实节省了空间并消除了潜在的错误。

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

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

console = window.console || {log:function(){}}
于 2014-10-29T17:32:40.487 回答
1

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

于 2013-01-28T11:55:19.340 回答
0

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

于 2016-01-27T15:18:04.553 回答