【发布时间】:2016-04-17 10:00:33
【问题描述】:
我正在阅读 NodeJS 教程,我已经到达 this 页面。
Buffer对象的比较方法有一个示例代码:
var buffer1 = new Buffer('ABC');
var buffer2 = new Buffer('ABCD');
var result = buffer1.compare(buffer2);
if(result < 0) {
console.log(buffer1 +" comes before " + buffer2);
}else if(result == 0){
console.log(buffer1 +" is same as " + buffer2);
}else {
console.log(buffer1 +" comes after " + buffer2);
}
抛出这个:
执行程序.... $node main.js
/web/com/1460883529_55644/main.js:3 var 结果 = buffer1.compare(buffer2);
^ 类型错误:对象 ABC 在对象处没有“比较”方法。 (/web/com/1460883529_55644/main.js:3:22)
在 Module._compile (module.js:456:26)
在 Object.Module._extensions..js (module.js:474:10)
在 Module.load (module.js:356:32)
在 Function.Module._load (module.js:312:12)
在 Function.Module.runMain (module.js:497:10)
在启动时 (node.js:119:16)
在 node.js:929:3
奇怪的是,在跟踪中对象被称为ABC 而不是buffer1,并且根据跟踪没有compare 方法。试图澄清compare 方法的示例让我感到困惑。谁能解释一下这里发生了什么?
【问题讨论】:
-
你的节点版本是多少?
-
我正在通过问题中指定的教程的服务器运行代码(tutorialspoint.com/nodejs/nodejs_buffers.htm)
-
它正在运行 Node v0.10.32
-
是的,这种方法要到 0.12 才能使用
-
我明白了,所以教程中犯的错误是使用了他们使用的版本中不存在的方法。您能否将其发布为答案以及可以找到添加给定方法的版本的位置?我稍后会接受,因为现在我必须走了:)
标签: node.js