Can';t访问javascript对象中的变量
我有一个名为team的Javascript对象 控制台日志(团队): 看起来不错。我可以很好地访问学校名称: console.log(团队名称): 但是如果我尝试访问任何数字变量 console.log(team.opa): 它们都打印“0”。程序之前输出了正确的变量,在我做了一些不相关的更改后,它就停止了,现在无论我做什么尝试,我似乎都无法访问这些变量。我尝试了几种不同的浏览器,所有浏览器都出现了这种情况。我不知道如何进一步调试这个问题 还有,如果我做了类似的事情Can';t访问javascript对象中的变量,javascript,Javascript,我有一个名为team的Javascript对象 控制台日志(团队): 看起来不错。我可以很好地访问学校名称: console.log(团队名称): 但是如果我尝试访问任何数字变量 console.log(team.opa): 它们都打印“0”。程序之前输出了正确的变量,在我做了一些不相关的更改后,它就停止了,现在无论我做什么尝试,我似乎都无法访问这些变量。我尝试了几种不同的浏览器,所有浏览器都出现了这种情况。我不知道如何进一步调试这个问题 还有,如果我做了类似的事情 team.opa = 76;
team.opa = 76;
我可以很好地访问它,但它不会改变“team”中任何内容的值。在开始记录对象之前,您不会等待AJAX请求完成,这意味着一旦AJAX请求完成,写入控制台的对象就会被覆盖(您
console.log
记录的对象是动态的,即使在您记录它们之后也可以更改;但对于标量值来说,情况并非如此)
相反,请在日志循环中尝试以下操作:
console.log(JSON.stringify(teams[id], null, 2));
但最终,您需要将整个日志循环(或您想对
团队数组执行的任何操作)移动到$.get()中
回调。在开始记录对象之前,您没有等待AJAX请求完成,这意味着一旦AJAX请求完成,将覆盖写入控制台的对象(您console.log
记录的对象是动态的,即使在您记录它们之后也可以更改;但对于标量值来说,情况并非如此)
相反,请在日志循环中尝试以下操作:
console.log(JSON.stringify(teams[id], null, 2));
但最终,您需要将整个日志循环(或您想对团队数组执行的任何操作)移动到$.get()
回调中。如果它“在您进行了一些不相关的更改后刚刚停止”那么,这些更改并不是无关的。向我们显示更多代码或还原您的更改。这不是普通的JavaScript语法。可能是ActionScript吗?Object.getOwnPropertyDescriptor(team,'opa')
揭示了什么?听起来这些属性可能定义了自定义的getter/setter或不可写。如果“只是在做了一些不相关的更改后停止了”那么这些更改就不是不相关的。向我们展示更多代码或还原您的更改。这不是普通的JavaScript语法。它可能是ActionScript吗?Object.getOwnPropertyDescriptor(团队,'opa')的作用是什么
reveal?听起来这些属性可能定义了自定义的getter/setter或不可写。是的!谢谢。我所做的更改之一是删除了“jQuery.ajaxSetup({async:false});行,因为我使用它的目的不再需要,但现在我发现我仍然需要它,原因不同。在我重新添加它之后,脚本再次工作。是的!谢谢。我所做的更改之一是删除了“jQuery.ajaxSetup({async:false});”行,因为我使用它的目的不再需要了,但现在我发现我仍然需要它,原因不同。在我重新添加它之后,脚本再次工作。
team.opa = 76;
console.log(JSON.stringify(teams[id], null, 2));