让我们说我有一个JSON对象:
myJson1={
key1:value1,
key2:value2
}
myJson2={};
和另一个json对象myJson2 我跑的时候
myJson2 = myJson1;
所有人都认为第一个对象等于第二个对象。 但现在如果我尝试像这样使用myJson2,
var val = myJson2.key1;
console.log(val); is empty !!!
我做了一些搜索,我发现了一些关于" proto "
答案 0 :(得分:2)
看起来你正在使用错误的变量来分配给myJson2。
应该是
myJson2 = myJson1;
答案 1 :(得分:2)
Swagin9是对的 - 请确保您的赋值语句正确无误。我会评论那篇文章,但我没有足够的代表,所以我会在这里添加 - 确保定义了value1和value2。他们自己并不意味着什么。要么将它们放在引号中,使它们成为int或booleans等,要么在实例化myJson1之前将它们定义为变量,以确保它们实际上意味着什么。即使使用正确的赋值语句,如果您的JSON对象按照它们现在的方式定义,您仍会收到错误。
例如,这会产生错误:
myJson1={
key1: value1,
key2: value2
}
myJson2={};
myJson2 = myJson1;
console.log(myJson2.key1);
这不会产生错误:
myJson1={
key1: "value1",
key2: "value2"
}
myJson2={};
myJson2 = myJson1;
console.log(myJson2.key1);