如果chrome / safari webkit检查器中有一个输出,其中包含打印出来的对象,例如:
只有更复杂的嵌套对象(这就是复制/粘贴不会这样做的原因)
有没有办法把它放在一个变量中进一步检查并在控制台上打印后进行处理(通过console.log
打印),只是在它已经在控制台中之后?
答案 0 :(得分:6)
$_
将为您提供控制台的最后输出。因此,在控制台中,您可以分配给变量。
请注意,您只能在控制台中执行此操作,而不能使用自己的代码执行此操作。
答案 1 :(得分:3)
这是一种在自定义日志函数中无需包装console.log
的方法:
var justLogged;
var oldLog = console.log;
console.log = function () {
oldLog.apply(console, arguments);
justLogged = arguments;
};
console.log('test');
// if necessary, restore console.log to its original behavior when you're finished with it
console.log = oldLog;
justLogged
的值为['test']
,因为您刚刚记录了它。
答案 2 :(得分:1)
如果您希望获得最后的输出,do as Mohsen suggests。
如果你想获得console.log
的最后一个输出,你最好的选择是包装函数。这可以(1)做你想要的(2)在生产中很容易被禁用,这对旧的IE有帮助并隐藏调试消息。
var log = (function() {
var lastOutput;
var fn = function() {
lastOutput = arguments[0]; // save the last argument
console.log.apply(console, arguments); // defer to console.log
};
fn.last = function() {
return lastOutput;
};
return fn;
})();
log("abc123");
log.last(); // => "abc123"