2016-07-23 70 views
1

我必须制作模板模块,每个模块都有3个功能。例如,可以有module1.js,其将具有exports.function1,exports.function2exports.function3。将有module2.js其中也有相同的功能;只是功能会有所不同。使用导出创建模板

我使用WebStorm进行开发,当我键入exports.时,它给我3个函数名称作为自动填充建议。

我的问题是,这些函数会相互覆盖吗?或者可以在不同的模块中使用相同的函数名称吗?

+0

可能的重复[JavaScript是否有接口类型(如Java的'接口')?](http://stackoverflow.com/questions/3710275/does-javascript-have-the-interface-type-such- as-javas-interface) – cshion

回答

1

有没有问题,如果您使用相同的名称:exports是,在核心,一个简单的对象,这是完美的罚款:

var obj = {a: 1}; 
var obj2 = {a: 2}; 
console.log(obj.a + obj2.a); // prints... 3! 

原因WebStorm显示了三个功能,是因为它是无法静态确定哪些实际可用。如果你运行代码,你会确认它。

+1

如果我错了,纠正我,设置'exports = {}'时无效,而设置'module.exports = {}'很好。对? –

+1

是的,没错!嗯,它不是*无效*说,但它不会更新外部 – Ven

+1

@LittleChild是的,因为第一个示例覆盖现有的引用与一个新的 –