Javascript对象显示为空白
当我控制台我的对象时,它显示为空白,但同时当我展开对象时,它显示正确的值,并且从我的控制器端,我无法捕获值。问题是什么 也就是说Javascript对象显示为空白,javascript,angularjs,Javascript,Angularjs,当我控制台我的对象时,它显示为空白,但同时当我展开对象时,它显示正确的值,并且从我的控制器端,我无法捕获值。问题是什么 也就是说 console.log(object.limit) -->undefined 我曾多次遇到过类似的问题,主要是因为 同步变量的行为,以便在检查 变量可能没有该值,有时它不是JavaScript 对象,或者有时会出现一个非常愚蠢的错误,改为.limit 限制 调试的一些技巧 检查Object.keys(objectVariable)的输出 我不喜欢这样,但
console.log(object.limit)
-->undefined
我曾多次遇到过类似的问题,主要是因为
同步变量的行为,以便在检查
变量可能没有该值,有时它不是JavaScript
对象,或者有时会出现一个非常愚蠢的错误,改为.limit
限制
调试的一些技巧
- 检查
的输出Object.keys(objectVariable)
- 我不喜欢这样,但请尝试执行
,因为它将在执行时打印值,其中console.log将打印最新的变量值,而不管何时打印alert(objectVariable)
- 尝试打印
,与警报相同,但在控制台中,也会打印执行时的值,而不是最新值JSON.stringify(objectVariable)
- 根据注释,对象通过引用传递到控制台。当您使用console.log时,此时它是空的,只有稍后才会添加这两个属性
- 属性根据JavaScript实现添加到对象内部
因此,当您尝试执行
console.log(object.limit)
时,您的对象是一个空对象,但在一些代码行之后,您正在将属性(limit
)添加到对象中,然后它就可用于对象中。我们可以看到更多控制器吗?object.limit从何而来?当然是一个async
调用。您可以在console.log对象本身的位置添加代码吗?对象通过引用传递到console。当您console.log
它时,此时它是空的,只有稍后才添加这两个属性。这意味着在检查.limit
时变量没有任何数组元素或分配任何值。为了进一步调试,我们需要实现代码,如果可能,创建一个或共享controller code.Cool。如果有帮助的话,我很高兴。