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
答案 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上查看日志...