javascript:无法访问成员函数
新手问题 我无法访问成员函数。我做错了什么javascript:无法访问成员函数,javascript,Javascript,新手问题 我无法访问成员函数。我做错了什么 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控制台中运行时,它
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不是一个函数,因为
zxc
只是一个局部变量,不能从条
函数外部访问。你可以把它改成
var bar = function() {
// do something
this.zxc = function(){
// do something
}
}
现在,
zxc
是构造对象的自有属性,因此它可以工作。尝试以下操作:
// 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
之外使用该构造函数?@kalpa您确定def.js正在导出函数bar
?因为在你发布的代码中它看起来不像…