log(array)显示不同的数组内容,而不是迭代数组并显示单个元素
console.log(array) shows different array contents than iterating the array and displaying the individual elements
我有以下代码:
console.log("start");
for(var i = 0; i < array.length; i++){
console.log(i + " = " + array[i]);
}
console.log(array);
console.log("end");
输出如下:
[16:34:41.171] start
[16:34:41.171] 0 = 0
[16:34:41.172] 1 = 168
[16:34:41.172] 2 = 171
[16:34:41.172] [0, 168, 171, 139]
[16:34:41.172] end
也就是说,它在迭代数组时不显示139元素,但是console.log在输出整个数组时打印它。为什么?(<——问题)
我修改数组以后,是控制台。日志以某种方式延迟,直到我改变数组后?注意,虽然改变了语句的顺序,但将consoel.log(array)
直接放在开头并不会改变结果(仍然是不同的输出)。
我用的是firefox20.0
Update:如果您希望看到此行为,请在控制台中复制并粘贴代码并执行。然后关闭开发人员工具并再次打开,显然指针的事情只发生在代码在后台执行时(当您重新打开控制台时发生)。
Console.log对象的输出,是一个指针,不是一个实际值。这意味着如果对象稍后更改,console.log对象将被更新。试一试:
console.log("start");
var array = [1];
for(var i = 0; i < array.length; i++){
console.log(i + " = " + array[i]);
}
console.log(array);
console.log("end");
array.push(9999);// you will see the 9999 in the console no matter it was added after the output.
要防止指针问题,请尝试以下操作:console.log (array.join ());因为稍后在应用程序的某个地方,您将添加139值
相关文章:
- Jquery/Javascript:通过按下按钮显示数组中的随机图像
- 以angular.js显示数组
- 我想使用Javascript中的循环在HTML中的特定id中显示数组中的多个对象
- Javascript-如何在窗体上方显示数组的值
- 在表中显示数组对象
- 在两个位置显示数组中的随机单词
- 如何显示数组中的图像?JavaScript
- 在页面上显示数组
- 如何使用JavaScript/AngularJS在控制台中显示数组长度
- 流星:显示数组数据,因为表在添加新列时给出了重复值
- 显示数组的内容
- 如何在 JavaScript 中显示数组的所有元素
- jQuery:如何在不使用每个循环的情况下显示数组的第一个元素
- Jquery UI 自动完成中的 PHP 显示数组
- 如何通过单击显示数组和按钮
- ng-重复不显示数组中的值
- 如何在流星中显示数组
- 在输入数组元素时在 html 页面中显示数组元素
- Javascript 如何在新行上显示数组的每个元素
- 显示数组中的图像不起作用