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

Way to save console.count() as an integer?

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

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

关于我如何做到这一点有什么建议吗?我试着做 parseInt 但没有运气。

Way to save console.count() as an integer?

没有。 console.count() 没有 return 任何东西,它直接打印到控制台,就像 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'));
      

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

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

我多说说