JavaScript Обекти като Параметри
Обектите, за разлика от примитивите, се предават по референция. Това означава, че промяната на обект вътре във функция ще доведе до това, че той ще се промени и извън функцията. Вижте примера:
function func(arr) {
arr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr); // ще изведе ['!', 2, 3]
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(obj) {
obj.a = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj);
console.log(obj);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(arg) {
arg = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(obj) {
obj = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(arr) {
arr.splice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(arr) {
arr.slice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(arr) {
let newArr = arr;
newArr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);