Back to questions
Яндекс Маркет
Middle
1
Даны три секции кода. Необходимо написать результат выполнения каждого console.log. var n = 1; function f(n) { n = 3; } f(n); console.log(n); // ?? // ------------------ var obj = { a: 1 }; function f1(o) { o.a = 5; } f1(obj); console.log(obj); // ?? // ------------------ var obj = { a: 1 }; function f2(o) { o = { hello: 1 }; } f2(obj); console.log(obj); // ??
Companies where asked
Answer from AI
sobes.tech AI
js var n = 1;
function f(n) { n = 3; } f(n);
console.log(n); // 1
Здесь параметр `n` функции `f` — локальная копия значения, переданного при вызове. Изменение `n` внутри функции не влияет на внешнюю переменную.
```js
var obj = { a: 1 };
function f1(o) {
o.a = 5;
}
f1(obj);
console.log(obj); // { a: 5 }
Объекты передаются по ссылке, поэтому изменение свойства объекта внутри функции отражается на исходном объекте.
var obj = { a: 1 };
function f2(o) {
o = { hello: 1 };
}
f2(obj);
console.log(obj); // { a: 1 }
Здесь переменной o внутри функции присваивается новый объект, но это не меняет ссылку obj вне функции. Поэтому obj остается без изменений.