为什么要执行未导出的功能?

时间:2017-03-15 19:09:23

标签: javascript

第一个文件包含以下内容:

function func()
{
    console.log("Func");
}

func();

function func1()
{
    console.log("Func1");
}

module.exports.expFunc = func1;

第二个文件包含以下内容:

var newFunc = require('./prac');

newFunc.expFunc();

执行第二个文件时的输出如下:

Func
Func1

为什么第二个文件的第一个函数是执行的,即使导出的函数只是第二个?

1 个答案:

答案 0 :(得分:2)

当需要该文件时,它将被解析并运行。通常它只是声明函数,但由于你在代码中调用了transformedCentre,它会在需要时执行该调用。如果删除所需文件中对func()的调用,则不会执行该函数。