| Сообщение от hoax | 
	| тогда почему нельзя сделать тоже самое с остальными? 
 Например opts.start вместо var start = opts.start.
 
 Тут же тоже идет присвание
 | 
	
Еще раз: 
	
	| Сообщение от dmitriymar | 
	| потому что объекты передаются по ссылке, если так не сделать любые изменения в функции полученного объекта затронут и передаваемый объект. | 
	
разница понятна между простым значением свойства объекта- которое передаётся по значению, и значением свойства- объект, какой передаётся по ссылке?
Не нужно думать "тоже самое , не тоже самое"  -нужно учить основы