Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript对象显示为空白_Javascript_Angularjs - Fatal编程技术网

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)
    的输出
  • 我不喜欢这样,但请尝试执行
    alert(objectVariable)
    ,因为它将在执行时打印值,其中console.log将打印最新的变量值,而不管何时打印
  • 尝试打印
    JSON.stringify(objectVariable)
    ,与警报相同,但在控制台中,也会打印执行时的值,而不是最新值

尝试在控制台中定义一个变量 var object={limit:'1',skip:'2'}

console.log(object.limit)


  • 根据注释,对象通过引用传递到控制台。当您使用console.log时,此时它是空的,只有稍后才会添加这两个属性
  • 属性根据JavaScript实现添加到对象内部

因此,当您尝试执行
console.log(object.limit)
时,您的对象是一个空对象,但在一些代码行之后,您正在将属性(
limit
)添加到
对象中,然后它就可用于对象中。

我们可以看到更多控制器吗?object.limit从何而来?当然是一个
async
调用。您可以在console.log对象本身的位置添加代码吗?对象通过引用传递到console。当您
console.log
它时,此时它是空的,只有稍后才添加这两个属性。这意味着在检查
.limit
时变量没有任何数组元素或分配任何值。为了进一步调试,我们需要实现代码,如果可能,创建一个或共享controller code.Cool。如果有帮助的话,我很高兴。