Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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
为什么console.log()在JavaScript中输出[object]?_Javascript - Fatal编程技术网

为什么console.log()在JavaScript中输出[object]?

为什么console.log()在JavaScript中输出[object]?,javascript,Javascript,console.log(({ 标题:“三个火枪手”, 作者:“亚历山大大仲马”, 价格:$49 }).toString()),因为for已经构建了一个JavaScript对象,您正试图将其转换为字符串。您正试图将整个对象转换为字符串,但这(实际上)无法完成。因此,您只需得到一条文字,上面写着“嘿,我们这里有一个对象” 但是,如果对该对象的属性运行.toString()(这可能是您的意图),您将获得该属性的字符串表示形式。这可以通过在调用.toString()之前使用点符号访问proeprty来完

console.log(({
标题:“三个火枪手”,
作者:“亚历山大大仲马”,
价格:$49

}).toString()),因为for已经构建了一个JavaScript对象,您正试图将其转换为字符串。您正试图将整个对象转换为字符串,但这(实际上)无法完成。因此,您只需得到一条文字,上面写着“嘿,我们这里有一个对象”

但是,如果对该对象的属性运行
.toString()
(这可能是您的意图),您将获得该属性的字符串表示形式。这可以通过在调用
.toString()
之前使用点符号访问proeprty来完成,如下所示:

console.log(({
标题:“三个火枪手”,
作者:“亚历山大大仲马”,
价格:$49

}).title.toString())如果要查找对象的JSON字符串表示形式,请查看

当您尝试将对象转换或添加到字符串(也尝试将其转换为字符串)时会发生的情况,您要查找的是
JSON.stringify(object)

console.log(
JSON.stringify(
{标题:“三个火枪手”,作者:“亚历山大大仲马”,价格:“$49”}
)

);如果这样做,效果会更好

let object = {
  title: "The Three Musketeers",
  author: "Alexandre Dumas",
  price: "$49"
}
console.log("My object",object);

这是因为它不知道如何呈现对象

您正在寻找的方法是JSON.stringify()。试试这个:

JSON.stringify({
  title: "The Three Musketeers",
  author: "Alexandre Dumas",
  price: "$49"
}, null, 2);

您希望它打印什么?为什么会这样?您的对象没有自己的
toString
,因此它使用来自对象的内容。因为这就是它应该返回的内容。你期待什么?