什么是window.console && console.log?
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
只有当truthy
表达式truthy
才会评估右侧表达式。 这就是逻辑AND运算符的工作原理。
它基本上是短的
if( window.console ) { console.log( open_date ); }
正如您可能猜到的那样,这是这种情况的常见模式,因为console
对象可能并非在每个浏览器(尤其是移动设备)上都可用。
1.)什么是window.console && console.log?
console.log是指用于调试的控制台对象。 对于firefox我使用firebug例如。
但如果控制台不可用,脚本将崩溃。 所以window.console检查控制台对象是否存在,如果是,它使用其日志function打印出一些调试信息。
2.)它必须在代码中吗?
不,它仅用于调试目的
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(){}}
Console.log是浏览器的记录器,它在浏览器控制台上记录消息。 编辑:较低版本的Internet Explorer不支持Console.log
此条件用于防止IE上的错误…因为,不幸的是,在IE(版本8)中我们无法使用console.log(“”)….但是测试人员仍然在Chrome上查看日志…