定义属性时,javascript返回未定义的对象属性

时间:2017-07-12 02:25:37

标签: javascript

我已经阅读了之前写的所有答案,但没有一个能解决我的问题。

从异步调用构建关联数组后,我将其传递给用于构建html元素的函数。关联数组已赋值,但是当我尝试访问它们时,它们返回undefined。

以下是登录到控制台的代码:

var buildStreamerHtml = function(thisNameInfo){
  console.log("buildHtml: ");
  console.log(thisNameInfo);
  console.log("status[]: " + thisNameInfo['status']);
  console.log("status.: " + thisNameInfo.status);

这是控制台日志:

buildHtml: 

Object
 logo: "https://static-cdn.jtvnw.net/jtv_user_pictures/freecodecamp-profile_image-d9514f2df0962329-300x300.png"
 status: "Offline"
 title: "FreeCodeCamp"
 url: "https://www.twitch.tv/freecodecamp"
 userExist: "yes"
 __proto__: Object

status[]: undefined
status.: undefined

当我尝试访问时,thisNameInfo数组中的每个键(logo,status,title,url和userExist)都会返回undefined。

我做错了什么?如何访问键值?

之前的答案之一建议访问如下:      的 thisNameInfo [0] .STATUS 我已经尝试了它并且它给出了一个错误,因为thisNameInfo没有定义为数组。

这是数组在开始时的初始化方式:

var thisNameInfo = {}; 

这是分配值的代码的一部分。密钥是同时创建的。

return $.getJSON("https://wind-bow.glitch.me/twitch-api/channels/" + name,    
        function(dataChannel) {
          thisNameInfo.url = dataChannel.url;
          thisNameInfo.title = dataChannel.display_name;
          thisNameInfo.logo = dataChannel.logo;
        });  

以下是根据Bergi建议complete code的链接:

0 个答案:

没有答案