javascript:console.log不能在这种情况下工作?

(function( $ ){ $.fn.openlayers = function( mapElementId, options ) { alert(console.log); console.log(options); ... } }); 

我试图扩展javascript库中的function,但很多我的惊喜,当我开始时,我意识到console.log没有记录任何内容。我知道代码正在执行,因为alert()正常启动。 但是,来自alert函数的返回响应似乎是"function(){}" ,这是正确的吗? 或者实际上是console.log和空函数?

那么关于这里发生了什么的线索,以及为什么console.log无效?


我想我可能找到了罪魁祸首。 我正在使用OpenLayers javascript文件,我可以看到他们的库设置

 OpenLayers.Console={log:function(){},... 

但是,这是大写的控制台,但也许这没有什么区别? 我也必须在OpenLayers范围内,我无法真正看到我。 所以我仍然有点困惑。 但它可以解释为什么我看到一个空function


这是在加载发生此错误的应用程序后,在chrome的调试窗口中键入“console”得到的输出。

 assert: function (){} count: function (){} debug: function (){} dir: function (){} dirxml: function (){} error: function (){} group: function (){} groupEnd: function (){} info: function (){} log: function (){} profile: function (){} profileEnd: function (){} time: function (){} timeEnd: function (){} trace: function (){} warn: function (){} __proto__: Object 

所以似乎有些东西,可能是openlayers javascript覆盖了本机控制台。

OpenLayer脚本之前添加以下行,告诉它不要覆盖控制台function。

  

只需单击ALL,您一定会看到console.log输出。

http://i.stack.imgur.com/peduZ.png

希望能帮助到你…!!!