我必须制作模板模块,每个模块都有3个功能。例如,可以有module1.js
,其将具有exports.function1
,exports.function2
和exports.function3
。将有module2.js
其中也有相同的功能;只是功能会有所不同。使用导出创建模板
我使用WebStorm进行开发,当我键入exports.
时,它给我3个函数名称作为自动填充建议。
我的问题是,这些函数会相互覆盖吗?或者可以在不同的模块中使用相同的函数名称吗?
我必须制作模板模块,每个模块都有3个功能。例如,可以有module1.js
,其将具有exports.function1
,exports.function2
和exports.function3
。将有module2.js
其中也有相同的功能;只是功能会有所不同。使用导出创建模板
我使用WebStorm进行开发,当我键入exports.
时,它给我3个函数名称作为自动填充建议。
我的问题是,这些函数会相互覆盖吗?或者可以在不同的模块中使用相同的函数名称吗?
有没有问题,如果您使用相同的名称:exports
是,在核心,一个简单的对象,这是完美的罚款:
var obj = {a: 1};
var obj2 = {a: 2};
console.log(obj.a + obj2.a); // prints... 3!
原因WebStorm显示了三个功能,是因为它是无法静态确定哪些实际可用。如果你运行代码,你会确认它。
如果我错了,纠正我,设置'exports = {}'时无效,而设置'module.exports = {}'很好。对? –
是的,没错!嗯,它不是*无效*说,但它不会更新外部 – Ven
@LittleChild是的,因为第一个示例覆盖现有的引用与一个新的 –
可能的重复[JavaScript是否有接口类型(如Java的'接口')?](http://stackoverflow.com/questions/3710275/does-javascript-have-the-interface-type-such- as-javas-interface) – cshion