Est*_*ask 5 javascript node.js console.log
考虑到console没有覆盖并且引用本机对象,console.log方法(以及可能的其他)是从console对象中提取的
var log = obj.log = console.log;
// instead of console.log.bind(console)
log(...);
obj.log(...);
Run Code Online (Sandbox Code Playgroud)
在浏览器和节点兼容性方面是否100%安全?
大量的JS示例(可能过于说明性)与绑定console.log表明它可能不是.
浏览器的console实现不同,似乎基于WebKit/Blink的浏览器(Chrome,Opera 15 +,Safari等)是唯一对提取的console方法感到不舒服的浏览器.对于浏览器兼容性,必须绑定提取的方法:
var log = console.log.bind(console);
Run Code Online (Sandbox Code Playgroud)
Node有自己的console实现,它依赖于this但预绑定其方法.console在Node应用程序中提取方法是安全的,这同样适用于Electron的主要过程.
NW.js 用Chromium 代替Nodeconsole:
Node.js和Chromium都有自己的setTimeout和console实现.目前,对于控制台,我们在任何地方都使用Chromium的实现,因为它可以在devtools中打印并暴露更多信息.
console在NW.js Node的上下文中提取方法是不安全的.
| 归档时间: |
|
| 查看次数: |
914 次 |
| 最近记录: |