当我发现一些非常奇怪的东西时,我正在玩Node.js REPL和Underscore库。如果我require("underscore")
,则变量_
全局设置(显然)。然后,当我尝试运行像console.log(_.isEmpty)
这样的简单命令时,它会打印[Function]
(显然,再次)。但是,在正好运行console.log(_)
后,它会打印[Function]
,因为变量_
已设置为_.isEmpty
。
为什么这样做?如果我从js文件运行相同的代码,这不会发生。这是一个正常的节点,还是一个完整的错误?
仅供参考:节点v0.10.10
答案 0 :(得分:13)
节点的REPL始终将_
设置为最后一行的结果。
> 2
2
> _
2
> 2+2
4
> _
4
>
您需要使用其他标识符:
var u = require("underscore");
u.isEmpty