【问题标题】:javascript console in browsers [duplicate]浏览器中的javascript控制台[重复]
【发布时间】:2012-04-02 17:27:59
【问题描述】:

可能重复:
Create shortcut to console.log()

在 javascript 中,我们可以轻松地将函数分配给变量,例如:


a = function(){ alert("hello world");}
b = a;

现在 a 和 b 可以互换使用来生成警报消息。

但是在创建跨浏览器控制台包装器时,我注意到 chrome 中有一个非常奇特的行为:


x = console.log

现在当我使用时:


x("hello world")

我明白了:

TypeError : 非法调用

然而,上面的例子在 Firefox 中运行良好。

这是某种与 chrome 相关的安全问题还是完全不同的问题。在旁注中,有没有一种方法可以获得一个函数,该函数生成一个带有调用该函数的行号到浏览器控制台的输出?

【问题讨论】:

    标签: javascript google-chrome console


    【解决方案1】:

    您的示例中的方法分配丢失了它们的 this 上下文。

    试试……

    var x = console.log.bind(console);
    

    【讨论】:

    • 对...应该很明显 :) 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2018-01-31
    • 2017-08-31
    • 2020-06-12
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多