我真的不懂javascript。也许有人可以解释我的区别:

validationErrors[value.element.name] = value.method;
console.log(validationErrors);
alert(validationErrors);


console.log(validationErrors)返回具有值的格式正确的数组,而alert(validationErrors)返回空数组。为什么?

最佳答案

控制台更多是一种调试环境,可以理解在log函数中传递的JS对象。

另一方面,Alert是一个对话框,它将把其参数强制转换为字符串值。这就是为什么输出格式不如控制台格式的原因。

这是警报框中实际发生的一小段。

var validationErrors = [ 2, 3, 4 ];
console.log(toString(validationErrors));
Output >> "[object Window]"


将控制台而不是警报框用于记录目的也是最佳做法。

08-08 06:11