我试图在每次使用时将console.count()除以1。但是,此代码不起作用。
var counter = console.count();
console.log(1/counter);
有关如何做到这一点的任何建议?我试过做parseInt但没有运气。
答案 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的答案更进一步。这是一种更准确的方法来拦截和计算发送到控制台的任何内容。
您可以稍微自定义该功能,并添加您想要跟踪和计数的任何方法。
我更多地谈论它here