函数返回[object]javascript
我的代码有以下子部分:函数返回[object]javascript,javascript,arrays,hash,hashtable,Javascript,Arrays,Hash,Hashtable,我的代码有以下子部分: var t = { "a" : "coucou", "b" : "salut", "c" : [1, 2, 3], "sous" : { "foo" : "bar", "spam" : [ 1,2, {"egg" : "42"}]} }; for ( k in t) { console.log(k + ’ : ’ + t[k]) ; } 我真的不明白为什么“spam”键的结果是[object] a :
var t = {
"a" : "coucou",
"b" : "salut",
"c" : [1, 2, 3],
"sous" : {
"foo" : "bar",
"spam" : [ 1,2, {"egg" : "42"}]}
};
for ( k in t) {
console.log(k + ’ : ’ + t[k]) ;
}
我真的不明白为什么“spam”键的结果是[object]
a : coucou
b : salut
c : 1,2,3
sous : [object Object]
有人能给我解释一下吗?在控制台中使用逗号(,)。log
而不是连接运算符+
:
var t={
“a”:“coucou”,
“b”:“敬礼”,
“c”:[1,2,3],
“苏”:{
“foo”:“bar”,
“垃圾邮件”:[1,2,{“鸡蛋”:“42”}]}
};
for(k in t){
log(k+':',t[k]);
}
编写表达式k+':'+t[k]
时,+
运算符将用作串联运算符。它将强制右侧的操作数转换为字符串。对于对象,这意味着调用它们的.toString()
方法,默认情况下,该方法只返回[object object]
更多信息请点击此处:
因为
sous
是一个object,所以您要连接字符串和object。使用,
来控制两个变量,比如console.log(k,t[k])代码>谢谢!!!如果我使用逗号(,),垃圾邮件的输出是什么?@Jamin它在上面的代码片段中