我认为问题不在于 underscore.js,而在于 Native 原型函数。似乎只能直接调用它们,而不能将它们作为回调传递。这是我不能使用的代码和我的测试中的错误(使用 Mocha.js,仅相关部分):
_.chain("INPUT").tap(String.prototype.toLowerCase)
// => TypeError: String.prototype.toLowerCase called on null or undefined
所以在 Node 的 REPL 中尝试了这个:
String.prototype.toLowerCase("INPUT")
// => ''
我知道应该用.call
or调用原型的函数.apply
,但究竟为什么呢?以及如何将此函数作为回调传递?