von js Konvention und soweit ich weiß,Javascript Array seltsames Verhalten
- Primitive Datentypen werden unter Pässen von Wert gearbeitet und
- komplexe Datentypen werden unter Pass von Referenz arbeiten
Wenn es so ist
var ary = [1,2,3];
var dupAry = ary;
//Now I am going to rewrite the ary variable as follows
ary = [3,4,5];
Jetzt logge ich die Werte von ary und dupAry protokolliert es verschiedene Werte. Nach seinem Standard sollten beide Arrays die Werte zurückgeben.
- warum also verschiedene Array-Werte zurückgeben?
Ein weiteres Szenario
var ary = [1,2,3];
var dupAry = ary;
//No I gonna apply splice method to the ary.
ary.splice(0,1);
Nun sind beide Array gleichen Werte zurückgeben und es funktioniert mit Standard in Ordnung.
- Schließlich warum es nicht mit dem ersten Szenario angewendet?
http: // Stapelüberlauf.com/questions/6612385/why-do-changed-a-array-in-javascript-affekoks-of-the-array – Tuhin
Wenn Sie 'ary = [3,4,5];' definieren, weisen Sie ein neues Array zu zu verstoßen und die Überweisung zwischen "ary" und "dupAry" zu brechen – Redu