我是否使用这个局部变量

时间:2017-06-26 16:51:19

标签: javascript

当我第一次运行时,我得到了未定义。 我认为这个错误非常小,但我如何解决这个错误呢?#34;进入"将打印错误而非未定义

main.js:

var enter = false;
module.exports = onProximityBoolean(enter);
function onProximityBoolean(enter) {
    if (enter === true) {
        return true;
    } else {
        return false;
    }
}

first.js:

var main =('main.js').onProximityBoolean;
console.log(main);

2 个答案:

答案 0 :(得分:1)

var enter = false;
function onProximityBoolean(enter) {
    if (enter === true) {
      return true;
    } else {
      return false;
    }
}
module.exports = onProximityBoolean(enter);

然后像这样使用它:

var main = require('./main.js');
console.log(main);

如果您想将其用作var main =('main.js').onProximityBoolean,则需要将exports的定义更改为:

module.exports.onProximityBoolean = onProximityBoolean(enter);

答案 1 :(得分:0)

您需要在代码中实际需要main.js。而不是var main =('main.js').onProximityBoolean;,请使用var main = require('main.js');。然后console.log(main)将返回false(从main.js导出的值)。

如果您在浏览器中使用它,则必须使用Browserify或Webpack来构建包含所需文件的包。如果您只是使用Node,它将按原样运行。

修改

onProximityBoolean函数中,没有必要检查enter === true。您实际上可以根据传入的参数将该函数更改为仅返回truefalse

function onProximityBoolean(enter) {
    return enter; // if enter is always `true` or `false`
}