如何在警报中显示 console.log 输出
How do I show console.log output in an alert
如果我创建一个对象并使用 console.log,它会展开该对象并且我可以看到该对象的属性。如果我使用警报,它不会。有没有办法在警报中做同样的事情?
car=new Object();
car.wheels=4;
car.make="honda";
car.owner="me"
console.log(car);
output: Object { wheels: 4, make: "honda", owner: "me" }
alert(car)
output is [object Object]
如何获得相同的警报输出?
你可以使用这个alert(JSON.stringify(object))
在控制台日志方式中,参数被认为是一个对象。因此,对象可以是数组、字符串、整数等任何形式,我们将获取内容。但是在 alert 方法中,它只接受字符串。因此,如果您发送对象,它会将其转换为对象的字符串版本 (object Object)。如果您将对象字符串化并作为参数发送给警报方法,它将显示内容。试试这个,
window.alert(JSON.stringify(object));
正如其他人所说,您使用 JSON.stringify
。
但我想提出一些其他建议。我不知道您是否已经知道这些,但您的示例表明您可能会喜欢这些提示。
- 在 JavaScript 中,建议不要使用
new Object()
而只是创建您的对象:
var car = {
wheels: 4,
make: "honda",
owner: "me"
}
在创建变量时始终使用 var
、let
或 const
。如果您不这样做,那么它们将在全球范围内创建。在浏览器中,您将在 window
对象上创建新变量。
JSON.stringify
还有其他参数:
JSON.stringify(value[, replacer[, space]])
replacer
不经常使用,但它可以提供一种过滤和防止递归数据的方法。
space
参数可以是 0 到 10 的数字或 0 到 10 的字符串中的字符数。这表示输出中每个级别的缩进量。
function replacer(key, value) {
if (typeof value === 'string') {
return undefined;
}
return value;
}
var foo = {
company: 'Sony',
model: 'Playstation',
version: 4,
pricing: [
{
pro: false,
price: 299.00
},
{
pro: true,
price: 399.00
}
],
comments: 'none'
};
alert(JSON.stringify(foo, replacer, 2));
alert(JSON.stringify(foo, replacer, '----'));
如果我创建一个对象并使用 console.log,它会展开该对象并且我可以看到该对象的属性。如果我使用警报,它不会。有没有办法在警报中做同样的事情?
car=new Object();
car.wheels=4;
car.make="honda";
car.owner="me"
console.log(car);
output: Object { wheels: 4, make: "honda", owner: "me" }
alert(car)
output is [object Object]
如何获得相同的警报输出?
你可以使用这个alert(JSON.stringify(object))
在控制台日志方式中,参数被认为是一个对象。因此,对象可以是数组、字符串、整数等任何形式,我们将获取内容。但是在 alert 方法中,它只接受字符串。因此,如果您发送对象,它会将其转换为对象的字符串版本 (object Object)。如果您将对象字符串化并作为参数发送给警报方法,它将显示内容。试试这个,
window.alert(JSON.stringify(object));
正如其他人所说,您使用 JSON.stringify
。
但我想提出一些其他建议。我不知道您是否已经知道这些,但您的示例表明您可能会喜欢这些提示。
- 在 JavaScript 中,建议不要使用
new Object()
而只是创建您的对象:
var car = {
wheels: 4,
make: "honda",
owner: "me"
}
在创建变量时始终使用
var
、let
或const
。如果您不这样做,那么它们将在全球范围内创建。在浏览器中,您将在window
对象上创建新变量。JSON.stringify
还有其他参数:
JSON.stringify(value[, replacer[, space]])
replacer
不经常使用,但它可以提供一种过滤和防止递归数据的方法。
space
参数可以是 0 到 10 的数字或 0 到 10 的字符串中的字符数。这表示输出中每个级别的缩进量。
function replacer(key, value) {
if (typeof value === 'string') {
return undefined;
}
return value;
}
var foo = {
company: 'Sony',
model: 'Playstation',
version: 4,
pricing: [
{
pro: false,
price: 299.00
},
{
pro: true,
price: 399.00
}
],
comments: 'none'
};
alert(JSON.stringify(foo, replacer, 2));
alert(JSON.stringify(foo, replacer, '----'));