如何访问 JavaScript 对象中的属性值

How to access properties value in JavaScript object

背景

我有两个对象,其中一个包含图像文件路径。

 var icons = {
            burglary: {
                image: iconBase + "homegardenbusiness.png"
            }

另一个包含类别。

 function point (cat) {

            this.Category= cat;
}

var point = new point("burglary");

我想根据类别访问特定的 属性 图标。

var icon = icons[point.Category].image;

下面正在调用的完整函数。

  //Create and add point to google map.
        function addpoints(point) {
            //debugger;

            var pos = { lat: point.Latitude, lng: point.Longitude };
            var icon = icons[point.Category].image;
            var marker = new window.google.maps.Marker({
                position: pos,
                map: map,
                icon: icon,
                clickable: true
            });

问题

我似乎无法使用上述表示法访问图标对象。 我这样做的方式正确吗?我收到以下错误。

Unable to get property 'icon' of undefined or null reference

包含图像的 属性 是图像而不是图标。

改变

var icon = icons[point.Category].icon;

var icon = icons[point.Category].image;

快速fiddle解决代码: https://jsfiddle.net/yeshodhan/639zL8oL/

根据你的例子,你应该引用

var icon = icons[point.Category].image;

不是:

var icon = icons[point.Category].icon;

你可以试试这个代码

var iconBase = "your image base::";

var icons = {
  burglary: {
    image: iconBase + "homegardenbusiness.png"
  }
};

function Point (cat) {
  this.Category = cat;
}

var point = new Point("burglary");

var icon = icons[point.Category].image;
alert(icon);