Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.05.2020, 10:48
Новичок на форуме
Отправить личное сообщение для Svib Посмотреть профиль Найти все сообщения от Svib
 
Регистрация: 30.05.2020
Сообщений: 2

В чём разница?
Объясните, пожалуйста, в чем разница между этими кодами? Почему в первом случае переменная "а" меняется, а во втором случае нет?
Пример 1:
function def1() {
  let a = [0,1];
  def2(a);
  console.log(a);//[ 10, 1 ]
};
function def2(a) {
  console.log(a);//[ 0, 1 ]
  a[0] = 10;
};
def1();

Пример 2:
function def1() {
  let a = [0,1];
  def2(a);
  console.log(a);//[ 0, 1 ]
};
function def2(a) {
  console.log(a);//[ 0, 1 ]
  a = 10;
};
def1();
Ответить с цитированием
  #2 (permalink)  
Старый 30.05.2020, 11:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Svib,
Копирование по ссылке
a[0] = 10; использовали указатель a, для изменения свойства обьекта по этому указателю.
a = 10; изменили указатель с обьекта на строку.
Ответить с цитированием
  #3 (permalink)  
Старый 30.05.2020, 13:38
Новичок на форуме
Отправить личное сообщение для Svib Посмотреть профиль Найти все сообщения от Svib
 
Регистрация: 30.05.2020
Сообщений: 2

Спасибо большое за ответ!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
new: в чем разница? oblomov86 Общие вопросы Javascript 2 24.11.2012 22:03
В чем разница между двумя записями? Shitbox2 jQuery 5 22.11.2012 06:56
Какая разница между post запросами jquery и ajax? Rooner jQuery 2 18.06.2012 14:29
.snapshotLength и просто .length в чём разница BIOHAZARD Events/DOM/Window 2 30.11.2008 18:20
Одиночки. В чем разница? Snipe Общие вопросы Javascript 49 07.06.2008 15:58