Rozważmy następujące JavaScript snippetdziwne zachowanie javascript z tablicami
var arr = [];
function pushMe()
{
var temp = { "name": "me" };
arr.push(temp)
console.log(arr)
temp["name"] = "you";
arr.push(temp)
console.log(arr)
}
byłem zdumiony widząc wyjścia jak [Object { name="you"},Object { name="you"}]
Jak pchają odniesień, oba muszą odnosić się do tego samego obiektu. Ale przynajmniej po pierwszym wypychaniu musi być jak Object { name="me"}
Dlaczego tak się dzieje?
dzięki :)
Tylko idiosyncrcrity logów konsoli w chrome – Esailija
Pierwsze wyjście przychodzi jako '[Object {name =" me "}]' w Firefoksie, zgodnie z oczekiwaniami. – Sirko