将console.count()保存为整数的方法?

时间:2015-04-21 14:53:29

标签: javascript jquery console

我试图在每次使用时将console.count()除以1。但是,此代码不起作用。

   var counter = console.count();
    console.log(1/counter);

有关如何做到这一点的任何建议?我试过做parseInt但没有运气。

2 个答案:

答案 0 :(得分:5)

  

将console.count()保存为整数的方法吗?

没有。 console.count()不会返回任何内容,它会直接打印到控制台,就像console.log()一样。


简单实施console.count



var count = (function() {
  var counter = {};
  return function(v) {
    return (counter[v] = (counter[v] || 0) + 1);
  }
}());

console.log('foo', count('foo'));
console.log('foo', count('foo'));
console.log('bar', count('bar'));
      




答案 1 :(得分:0)

这是一个截取发送到控制台的消息的脚本。

var counter = 0;
function takeOverConsole(){
        var console = window.console
        if (!console) return
        function intercept(method){
            var original = console[method]
            console[method] = function(){
                var message = Array.prototype.slice.apply(arguments).join(' ')
                // do sneaky stuff
                if (original.call){
                    // Do this for normal browsers
                    original.call(console, message)
                }else{
                    // Do this for IE
                    original(message)
                }
                counter++;
            }
        }
        var methods = ['log', 'warn', 'error', 'count']
        for (var i = 0; i < methods.length; i++)
            intercept(methods[i])
    }

让Felix King的答案更进一步。这是一种更准确的方法来拦截和计算发送到控制台的任何内容。

您可以稍微自定义该功能,并添加您想要跟踪和计数的任何方法。

All console methods

我更多地谈论它here