Javascript node.js";“未定义”;神秘地出现

Javascript node.js";“未定义”;神秘地出现,javascript,node.js,undefined,Javascript,Node.js,Undefined,我有以下node.js文件: //test.js: var hash=require('./hash'); var sys=require('sys'); sys.puts(hash.hash("asdf","asdf")); 及 当我执行节点测试.js时,我得到以下输出: eamorr@Compaq6000:~/Desktop/simple-hash$ node test.js undefined /home/hynese/Desktop/nodejs-simple-hash 为什么我

我有以下node.js文件:

//test.js:
var hash=require('./hash');
var sys=require('sys');

sys.puts(hash.hash("asdf","asdf"));

当我执行
节点测试.js
时,我得到以下输出:

eamorr@Compaq6000:~/Desktop/simple-hash$ node test.js 
undefined
/home/hynese/Desktop/nodejs-simple-hash
为什么我会变得“未定义”???我真的被困在这里了

非常感谢您的帮助

提前表示感谢,

更改:

sys.puts(hash.hash("asdf","asdf"));
只是:

hash.hash("asdf","asdf");
您正在输出
hash.hash
的返回值,但由于没有提供返回值,该语言返回未定义的值,然后输出到屏幕。您已经在回调中输出了系统命令的结果,因此不需要另一个
sys.put

作为旁注,您可能不需要命名该回调函数
callback

更改:

sys.puts(hash.hash("asdf","asdf"));
只是:

hash.hash("asdf","asdf");
您正在输出
hash.hash
的返回值,但由于没有提供返回值,该语言返回未定义的值,然后输出到屏幕。您已经在回调中输出了系统命令的结果,因此不需要另一个
sys.put

作为补充说明,您可能不需要命名该回调函数
callback