7

所以当我发现一些非常奇怪的东西时,我正在使用 Node.js REPL 和 Underscore 库。如果 I require("underscore"),该变量_是全局设置的(显然)。然后,当我尝试运行一个简单的命令时,就像console.log(_.isEmpty)它打印出来的一样[Function](同样,很明显)。但是,在运行console.log(_)之后,它会打印,[Function]因为变量_设置为_.isEmpty.

为什么这样做?如果我从 js 文件运行相同的代码,则不会发生这种情况。这是一个正常的 Node 事情还是这是一个完全错误?

仅供参考:节点 v0.10.10

4

1 回答 1

13

Node 的 REPL 总是设置_为最后一行的结果。

> 2
2
> _
2
> 2+2
4
> _
4
>

您需要使用不同的标识符:

var u = require("underscore");
u.isEmpty
于 2013-06-12T19:04:38.283 回答