如何检查Node JS中是否存在模块功能

时间:2018-07-24 19:31:50

标签: javascript node.js

我已经创建了一个模块并在其中定义了功能。有时我需要检查某个功能是否已经真正创建。

例如

var newyork = function() { 
   console.log("newyork");
};

var washington = function() { 
   console.log("washington");
};

exports.newyork = newyork;
exports.washington = washington;

现在在另一个文件中,我想先检查该函数是否存在,例如:

var cities = require('./city');

if(cities.newyork) {
  console.log("city function exist");
}
else {
  //false
}

2 个答案:

答案 0 :(得分:1)

正如我在评论中所说,您写的内容实际上是有效的,因为

if(cities.newyork){

检查cities.newyork是否为真。以下是事实:

  • 功能(这就是为什么它在这里起作用)
  • 0以外的数字
  • 除了空字符串之外的字符串
  • 对象/数组

如果未定义,则cities.newyork将是undefined,它是 fassy (将进入else分支)

答案 1 :(得分:0)

  

city的城市类型。cityName===“功能”

如果城市名称已分配给某个变量

  

城市类型[cityName] ==='功能'