对象在控制台中具有width和height属性,但在JSON.stringify()之后没有这些属性;

时间:2016-10-29 01:32:35

标签: javascript jquery json image width

我有一个对象A,其中包含图像的网址列表。我在A中修改了属性后创建了对象B.然后我尝试为B对象添加宽度和高度属性,但是在我对其进行字符串化后,宽度和高度消失了。但是,它们在console.log(B)中。谁能告诉我发生了什么事?

var B = {
  "seattle": {
    url: "http://dummyimage.com/800x600/4d494d/686a82.gif&text=placeholder+image"
  }
}
for (var prop in B) {
    getImgProperties(B[prop]);
}


function getImgProperties(eachCityIn_B) {
    var img = new Image();
    img.src = eachCityIn_B.url;

    img.onload = function() {
        eachCityIn_B.width =  img.width;
        eachCityIn_B.height = img.height;
    };
}

console.log(B); //width and height are defind
console.log(JSON.stringify(B)); // No width and height properties!???

这是关于codepen http://codepen.io/Samjin/pen/VKOoNJ?editors=0010的示例 如果您查看浏览器控制台,它会显示具有高度和宽度属性的Seattle对象,但字符串化值不具备它们。如何将高度和宽度值添加到B对象?

0 个答案:

没有答案