我试图在日志输出中添加一些前缀,但它在 Chrome 中效果不佳:
function getlog(p) {
return function() {
var mainArguments = [p].concat.call(arguments);
console.log.bind(console).apply(console, mainArguments); }
}
最简单的解决方案效果很好:console.log.bind(console),但我想添加额外的文本。
相关主题:
在非数组(甚至是类似数组的对象)上使用
Array.prototype.concat()
可以导致它将对象本身而不是其内容添加到结果数组中。您的代码实际上也没有在 [p]
调用中使用 concat()
,而只是简单地使用它来间接访问 Array.prototype.concat()
。
试试这个:
function getlog(p) {
return function() {
var mainArguments = [p].concat(Array.prototype.slice.call(arguments));
console.log.apply(console, mainArguments);
};
}