簡體   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