用户模块 - 节点js
问题描述:
我有一个关于在模块中定义对象的问题。用户模块 - 节点js
可以说我有一个模块:
/*---obj----*/
function A (param){
this.parm=param;
function func(){
//do somthing
}
}
exports.func=func;
/*---file.js----*/
obj=require('obj');
function fileFunc(A){
A.func();//with out this line it works fine
A.param=2;
}
}
由于某种原因,它不承认在对象A.它识别物体A及其不同瓦尔的功能,但是当涉及到执行功能它给出了MSG:
类型错误:对象#没有方法 'FUNC'
我试图也导出的函数在一个: exports.A.func = A.func
或 exports.func = func 都不行。
有人有线索吗?
感谢名单 马蒂
答
你的内部定义的函数是当地唯一的那个函数。你想要的是
function A(param) {
this.param = param;
}
A.func = function() {
// do something
};
但是,如果你处理的构造函数,那么你会希望把该功能在A的原型
A.prototype.func = function() {
// do something
};
奏效感谢名单配发! 但仍有一个问题。 对象A也得到一个套接字对象,换句话说可以说param是一个套接字(使用网络模块)。在我想写入套接字的函数func中。所以我写 A.prototype.func = function(){ A.write('str'); }; 它不承认这是一个套接字。它表示函数写入不明。我如何告诉编译器param是socket类型的对象? – user690936 2011-12-14 18:51:26