[英]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%安全?
不是。
this
有效(未綁定方法為i)。 我在Chrome源代碼中找不到console
實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.