如何访问 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);
背景
我有两个对象,其中一个包含图像文件路径。
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);