[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Непонятна логика JS в конкретном примере
Barh
Здравствуйте, форумчане!

Пример кода на JS:
    func_1 = function()
{
var start = {};
start.type = 1;

func_2(start);
};

func_2 = function( start )
{
var end = start;
end.type = end.type + 1;

console.log(start);
};

func_1();


console.log выдаёт: Object {type: 2}

По моей логике должно быть Object {type: 1}. В функции func_2 данные меняются же в новой созданной переменной, а не в аргументе. Такое поведение мне кажется логичным только если var end = start ведёт себя, как ссылка.

Подскажите, пожалуйста, почему так происходит?
killer8080
Цитата (Barh @ 27.01.2014 - 14:47)
Подскажите, пожалуйста, почему так происходит?

потому что твоя переменная end является ссылкой на тот же объект, что и start
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.