为什么console.log("x:", x)比console.log("x:" + x)好?我有一个包含categoryId和name的分类对象。当我编写console.log("x:", x)时,控制台会给我Data: (5) [{…}, {…}, {…}, {…}, {…}]
但是,如果我使用console.log("x:" + x),控制台将给我Data: [object, object][object, object][object, object][object, object][object, object]
我不知道原因是什么,为什么会有不同?
发布于 2022-06-27 22:42:51
使用console.log("Data:"+x)时,console.log("Data:",x)没有输出所需的结果(x是对象的变量名称),原因在于JavaScript的工作方式。在第一个示例中,Javascript将首先计算作为参数传递的字符串( "Data:"+x)。
由于JavaScript只能在将对象作为参数传递给JSON.stringify()函数时将其转换为字符串,因此该对象不会保留在字符串的计算中,而将被替换为"object Object“。
Javascript将以不同的方式解释console.log("Data:",x)。第一个参数"Data:“被传递并首先登录到控制台。在同一行中,数据对象被记录为对象数据类型,因为对象不在字符串旁边,因此在登录到控制台之前不会被计算为字符串。
https://stackoverflow.com/questions/72778848
复制相似问题