为什么控制台不标准?

时间:2015-05-15 23:00:31

标签: javascript

查看here,您可以找到以下消息:

  

非标准

     

此功能不符合标准,不符合标准   跟踪。不要在面向Web的生产站点上使用它:它不会   为每个用户工作。两者之间可能存在很大的不兼容性   实现和行为可能在未来发生变化。

显然,console并不适合制作,我认为它是由 helluvalot 人使用的,所以为什么没有它是标准还是建议作为标准?它与DOM无关,但是它不能成为ECMAScript的一个特征吗?似乎主机环境可能总是提供一种将某些内容输出到控制台中,或者决定忽略它的方法,所以我不会看到它成为标准的危害。

2 个答案:

答案 0 :(得分:3)

同样的问题被问到here,您可以在其中阅读支持者和控制台API标准化的非支持者所做的所有论据的完整消息传递线程。

简而言之,有一些标准化Console API的建议,例如this one(由提出问题的人发起)。它还包含有关其他标准化(文档)工作的有用信息。

关于你的陈述:

  

显然,控制台并不适合生产......

也许它不适合制作,但有些情况下它在制作中很有用,比如为专业用户提供提示和详细错误。例如,Facebook使用Console API打印此警示横幅。

enter image description here

答案 1 :(得分:2)

我只是推测 - 由于向后兼容性,它部分是一个问题,但事实上log方法的实现可能针对不同的参数做不同的事情以满足浏览器的各种需求设计师,因此使其不标准。

我不知道你是否见过这种方法 -

if(window.console && console.log) {
    console.log('your message');
}

后续问题可能是,如果我们需要为此方法提供标准支持,我们如何检查log方法参数中是否存在支持。