Ich las somewhere, dass wenn wir ein Objekt in eine Funktion übergeben "... JavaScript verwendet immer das Objekt als Referenz, wenn es als Argument übergeben ..." Was ich denke, dies ist (korrigiere mich, wenn ich falsch liege) ist, dass, wenn die Funktion das Objekt irgendwie verändern würde, es das ursprünglich definierte Objekt verändern würde. Ich habe versucht, dies mit etwas Code zu illustrieren, und es tut, was ich denke, aber wenn ich das Beispiel im Blogbeitrag mit einem Number-Obj versuche, ändert es nicht den ursprünglichen Wert in diesem Objekt. Bitte beachten Sie meine jsbin: https://jsbin.com/wociro/edit?js,console,outputAnzahl Objekte, die durch Referenz in Funktionen übergeben wurden
console.clear();
/**myobject Object**/
function myobject() {
this.value = 5;
}
var o = new myobject();
console.log("Original value of o: " + o.value); // o.value = 5
function objectchanger(fnc) {
fnc.value = 6;
}
objectchanger(o);
console.log("New value of o: " + o.value); // o.value is now equal to 6
/*Number Object*/
var num2 = new Number(2);
console.log("Original value of num2: " + num2);
function numberChanger(fnc) {
return fnc + 1;
}
console.log("num2 after running numberChanger: " + numberChanger(num2));
console.log("New value of num2: " + num2); //looks the same
Bin ich etwas fehlt?
Nummer ist, waschamacallit ... [ein primitiv.] (Https://developer.mozilla.org/en-US/docs/Glossary/Primitive) – nullpotent
In Zukunft, bitte fügen Sie alle Code in der Frage selbst, anstatt auf einer anderen Seite. –