javascript - 如何在警报中显示 console.log 输出
问题描述
如果我创建一个对象并使用 console.log 它将展开该对象并且我可以看到对象属性。如果我使用警报它不会。有没有办法在警报中做同样的事情?
car=new Object();
car.wheels=4;
car.make="honda";
car.owner="me"
console.log(car);
输出:对象{车轮:4,品牌:“本田”,所有者:“我”}
alert(car)
输出是[对象对象]
如何获得相同的警报输出?
解决方案
正如其他人所说,您使用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, '----'));
推荐阅读
- php - 如何在 php 中获取 Sql Not Null 字段?
- vb.net - 如何在类中添加点击事件 vb.net
- asp.net-mvc - 如何在部分视图asp.net mvc中编写客户端自定义java脚本进行验证
- ajax - 更改选择框值不能应用于使用 ajax 和 jquery 的标签
- jquery - 如何在图像的宽度上制作花式框标题?
- python - 如何使用 python 检索令牌
- go - 在括号中初始化 Go 结构有什么作用?
- java - 如何从 Spring Boot maven 项目中删除或隐藏目标文件?
- c# - CardView中的Xamarin Recyclerview按钮,无法获取位置
- maven - 如何将jmeter聚合图保存为maven目标文件夹中的文件夹中的png