如何调用module.exports类中的其他方法?
发布于 9 年前 作者 j60017268 9189 次浏览 最后一次编辑是 8 年前 来自 问答

我的js代码逻辑是

module.exports ={
A: function(){
	// 处理逻辑
	this.B();
	// 处理逻辑
}
B:function(){}
};

怎么在A方法中无法使用this.B()调用B方法。

6 回复

。。。你是开了输入法全角写代码么

好像是的。不影响表述问题,求指导。

module.exports = {
  A: function() {
	module.exports.B();
  },
  B: function(){}
}

你需要注意一下 this 的上下文.

  1. 如果只想让代码不报错, 你可以把 this 去掉.
var A = function(){
    // 处理逻辑
    B();
    // 处理逻辑
}
var B = function(){}

module.exports ={
	A: A,
	B: B
};
  1. 如果你想保留上下文, 可以这样.
var self = this;
var A = function(){
    // 处理逻辑
    self.B();
    // 处理逻辑
}
var B = function(){}

module.exports ={
	A: A,
	B: B
};

@luckydrq 已测试通过,非常感谢。

@TossShinHwa 我试了你给的第一种方法,报B方法为定义。 第二种方法对代码逻辑改动比较大,所以暂时未测试。

回到顶部