我已经创建了一个模块并在其中定义了功能。有时我需要检查某个功能是否已经实际创建。
例如
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
}
最佳答案
正如我在评论中所说,您写的内容实际上是有效的,因为
if(cities.newyork){
检查
cities.newyork
是否真实。以下内容是真实的:功能(这就是为什么它在这里起作用的原因)
除0以外的数字
除空字符串外
对象/数组
如果未定义,则
cities.newyork
将是undefined
,这是虚假的(将进入else
分支)