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

时间:2018-07-25 19:51:24

标签: javascript node.js

我有一个类似于this的问题,但问题略有不同。

所以我在c:\html文件中有一个功能

.\**\html

如果我以这种方式访问​​此功能cities.js,那么正确和错误条件都可以正常工作,但是如果我以这种方式访问​​功能

module.exports = {


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

它总是在其他情况下运行。因为城市名称是动态的,所以我需要使用此功能。我也尝试过这种方式

if(cities.newyork){}

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

2 个答案:

答案 0 :(得分:4)

您要查找的语法是cities[city]。照原样,您的代码正在寻找一个名叫“ city”的城市的属性

答案 1 :(得分:0)

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

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

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

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