Объясните, почему функция copy не сработала?

106
21 июня 2019, 13:10

var vasya = { 
  age: 21, 
  name: 'Вася', 
  surname: 'Петров' 
}; 
 
var user = { 
  isAdmin: false, 
  isEmailConfirmed: true 
}; 
 
var student = { 
  university: 'My university' 
}; 
 
// добавить к vasya свойства из user и student 
copy(vasya, user, student); 
 
alert( vasya.isAdmin ); // false 
alert( vasya.university ); // My university

Answer 1

Функция copy не сработала, так как она нигде не объявлена, об этом свидетельствует ошибка

Uncaught ReferenceError: copy is not defined

Которая появляется, если запустить твой сниппет в вопросе.

Answer 2

Вот примерная реализация, если вы хотите свою функцию:

function copy(){
    if(arguments[0]){
        for(var i = 1;i < arguments.length;i++){
            for(key in arguments[i]){
                arguments[0][key] = arguments[i][key]
            }
        }
    }
}

copy(vasya, user, student)

А вообще есть встроенная функция Object.assign

var vasya = Object.assign(vasya, user, student);

READ ALSO
Как реализовать эти задачи на практике, стажеру новичку (я даже некоторые вопросы не понял) [закрыт]

Как реализовать эти задачи на практике, стажеру новичку (я даже некоторые вопросы не понял) [закрыт]

Разработать программу сортировкиЧерез веб интерфейс можно вводить кол-во элементов массива, который должен сортироваться

114
Как передать заголовки из PHP в JS?

Как передать заголовки из PHP в JS?

Есть следующая проблема:

103
Мозайка JavaScript

Мозайка JavaScript

Сейчас мозаику можно собрать в любой последовательности, но надо чтобы последовательно, то есть сначала к первой мозаике вторую, ко второй...

126
Работа с фреймом

Работа с фреймом

Есть фрейм с вычислением площадиНикак не могу понять как сделать, чтобы при совершении вычислений, менялся фон фрейма

132