簡體   English   中英

從控制台提取console.log方法

[英]console.log method extraction from console

考慮到未覆蓋console並引用了本機對象,使用以下命令從console對象中提取console.log方法(可能還有其他方法)

var log = obj.log = console.log;
// instead of console.log.bind(console)
log(...);
obj.log(...);

在瀏覽器和Node兼容性方面是否100%安全?

綁定了console.log大量JS示例(也許太說明了)表明可能不是。

瀏覽器的console實現方式有所不同,看來基於WebKit / Blink的瀏覽器(Chrome,Opera 15 +,Safari等)是唯一不適合提取的console方法的瀏覽器。 為了與瀏覽器兼容,必須綁定提取的方法:

var log = console.log.bind(console);

Node有自己的console實現, this實現依賴this預先綁定了其方法 在Node應用程序中提取console方法很安全,這同樣適用於Electron的主要過程。

NW.js用Chromium 替換了Node console

Node.js和Chromium各自具有自己的setTimeout和控制台實現。 當前,對於控制台,我們可以在任何地方使用Chromium的實現,因為它可以在devtools中打印,並且可以顯示更多信息。

在NW.js Node的上下文中提取console方法是不安全的。

在瀏覽器和Node兼容性方面是否100%安全?

不是。

我在Chrome源代碼中找不到console實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM