Sobes.tech
Back to questions
Middle+
5

/ ** * Даны три секции кода. Необходимо написать результат выполнения * каждого 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` меняется на 3, но внешняя `n` не меняется.

```js
var obj = { a: 1 };
function F1(o) {
  o.a = 5;
}
F1(obj);
console.log(obj); // { a: 5 }

Объекты передаются по ссылке, поэтому изменение свойства a внутри функции меняет исходный объект.

var obj = { a: 1 };
function F2(o) {
  o = { hello: 1 };
}
F2(obj);
console.log(obj); // { a: 1 }

В функции F2 переменной o присваивается новый объект, но это локальная переменная, исходный объект не меняется.