Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将webkit控制台中console.log的值放入变量中_Javascript_Google Chrome_Webkit_Web Inspector - Fatal编程技术网

Javascript 将webkit控制台中console.log的值放入变量中

Javascript 将webkit控制台中console.log的值放入变量中,javascript,google-chrome,webkit,web-inspector,Javascript,Google Chrome,Webkit,Web Inspector,如果chrome/safari webkit inspector中有一个输出,其中包含一个打印输出的对象,例如: 嵌套对象的加载要复杂得多(这就是复制/粘贴不起作用的原因) 是否有办法将其放入变量中,以便在控制台上打印后(通过console.log打印)进一步检查并处理它,仅在它已经在控制台中之后?$\uuuu将为您提供控制台的最后输出。所以在控制台中,您可以将其分配给变量 请注意,您只能在控制台中执行此操作,而不能从您自己的代码中执行此操作。如果您希望获得最后的输出 如果您试图获取cons

如果chrome/safari webkit inspector中有一个输出,其中包含一个打印输出的对象,例如:

嵌套对象的加载要复杂得多(这就是复制/粘贴不起作用的原因)


是否有办法将其放入变量中,以便在控制台上打印后(通过
console.log打印)进一步检查并处理它,仅在它已经在控制台中之后?

$\uuuu
将为您提供控制台的最后输出。所以在控制台中,您可以将其分配给变量


请注意,您只能在控制台中执行此操作,而不能从您自己的代码中执行此操作。

如果您希望获得最后的输出

如果您试图获取
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"
下面是一种不用在自定义日志函数中包装
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']
,因为您刚刚记录了它。

我甚至不知道!这是一个非常棒的建议!我从来不知道这是可能的。我想知道您是否也可以监听控制台事件?最好使用
oldLog.apply(这是参数)
来传递所有参数,而不是第一个参数。@Mohsen很好,我更新了代码,使用
apply
而不是
call