Я читал somewhere, что, когда мы передаем объект в функцию «... JavaScript всегда использует объект по ссылке, когда он проходит как аргумент ...» Я думаю, что это подразумевает (исправьте меня, если я ошибаюсь) заключается в том, что если функция должна каким-то образом изменить объект, это изменит исходный определенный объект. Я попытался проиллюстрировать это с помощью некоторого кода, и он делает то, что я думаю, но когда я пытаюсь привести пример в сообщение в блоге с номером obj, он не изменяет исходное значение этого объекта. Пожалуйста, смотрите мой jsbin: https://jsbin.com/wociro/edit?js,console,outputЧисло объектов, переданных в функции по ссылке
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
я упускаю что-то?
Номер есть, whatchamacallit ... [примитив.] (Https://developer.mozilla.org/en-US/docs/Glossary/Primitive) – nullpotent
В будущем, пожалуйста, включите весь код в сам вопрос, а не на другом сайте. –