用户模块 – 节点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及其不同的variables,但是当执行该函数时,它给出了味精:
TypeError:对象#没有方法'func'
我也尝试导出在A中的函数:exports.A.func = A.func
或exports.func = func既不工作..
有人有线索吗?
thanx matti
您在A中定义的function仅限于该function。 你想要的是
function A(param) { this.param = param; } A.func = function() { // do something };
但是,如果你把A作为构造函数,那么你将会把这个函数放在A的原型中
A.prototype.func = function() { // do something };