javascript:无法访问成员函数

时间:2015-10-17 14:22:08

标签: javascript

NEWBIE问题。

我无法访问会员功能。我做错了什么?

index.js ->
var abc = require('./def');
var foo = new abc();
foo.zxc(); 

def.js ->
var bar = function(){
// do something
    var zxc = function(){
        // do something
    }
}
module.exports = def;

当我在brwoser控制台中运行时,它会显示:

TypeError:foo.zxc不是函数

2 个答案:

答案 0 :(得分:2)

因为zxc只是一个无法从bar函数外部访问的局部变量。您可以将其更改为

var bar = function() {
   // do something
    this.zxc = function(){
        // do something
    }
}

现在,zxc是构造对象的自有属性,因此它可以工作。

答案 1 :(得分:0)

尝试以下内容:

// index.js ->
var abc = require('./def');
var foo = new abc.bar();
foo.zxc(); 

// def.js ->
var bar = function(){
// do something
    this.zxc = function(){
        // do something
    }
}
module.exports.bar = bar;

主要区别在于您现在正在导出bar() {...}构造函数,然后可以在模块中所需的abc之外使用它吗?