繁体   English   中英

检查节点js中是否存在模块方法

[英]check if module method exist in node js

我有一个与问题类似的问题, 问题略有不同。

所以我在cities.js文件中有一个功能

module.exports = {


    newyork: function (latitude,longitude) {
        console.log("newyork is here");
} 

如果我以这种方式访问if(cities.newyork){}则true和false条件都可以,但是如果我以这种方式访问​​函数

 var city = 'newyork';
    if(cities.city){
console.log("true");
}else{
console.log(false);
}

它总是处于其他状态。 因为城市名称是动态的,所以我需要使用此功能。 我也尝试过这种方式

if(typeof cities.city === 'function'){
      console.log("true");
    }else{
     console.log(false);
    }

仍然没有运气。 任何帮助,将不胜感激

您要查找的语法是cities[city] 照原样,您的代码正在寻找字面上称为“ city”的城市的属性

您应该使用cities[city] 这是因为,

cities.city ,“ city”将被视为“键名”。 因此它将转变为cities["city"]

但是在cities[city]它实际上将转变为cities["newyork"]

因此,请始终使用obj[dynamic_key_name] 使用"."访问属性"." 仅当您知道属性名称时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM