[ID CS4-CS6] Аргументы функции

  • Автор темы Автор темы Tiburtsy
  • Дата начала Дата начала

Tiburtsy

Топикстартер
15 лет на форуме
Сообщения
60
Реакции
14
Можно ли как-то изменить аргументы из функции?
 
JavaScript:
var a=1, b=2
swap(a,b)//a=2, b=1
Можно ли написать на js Indesign такую функцию swap()
P.S. На Pascal/Delphi такое было возможно через объявление var аргументов
 
Последнее редактирование:
Вроде они почти всегда var.
 
А не, только объекты/массивы передаются по ссылке.
Ну на самом деле замена функции на несколько присваиваний в одну строчку не сильно повлияют на читаемость.
 
JavaScript:
var a=1,b=2,c=3
swap(a,b)//a=2,b=1
swap(b,c)//b=3,c=1
Я про такое. Когда неизвестно какие внешние переменные будут меняться
 
Сразу видно поколение жабоскриптологов, судя по ответам никто толком не понял невнятно сформулированного вопроса ;)
Маленькая подсказка:
swap("a","b")
;)
 
Последнее редактирование:
Сразу видно поколение жабоскриптологов, судя по ответам никто толком не понял невнятно сформулированного вопроса ;)
Маленькая подсказка:
swap("a","b")
;)

Еще б понять зачем симулировать указатели или ссылки на переменные...
 
Еще б понять зачем симулировать указатели или ссылки на переменные...
Ты хочешь сказать, что руль в машине не нужен, а передача параметров по ссылке - пережиток олдфагии и ностальгия по Си?
 
да не, просто интересно зачем это понадобилось в конкретном случае
ну и потом самое простое решение - завернуть их в объект
 
Последнее редактирование:
Ну я навскидку могу несколько мотиваций данного действия придумать
Самый напрашивающийся пример - портирование либы с си (или в случае топикстартера - паскаля)
 
ну просто если это сортировка какая-то, то ее уже сто раз портировали на js и можно взять готовую )
 
Ты хочешь сказать, что руль в машине не нужен, а передача параметров по ссылке - пережиток олдфагии и ностальгия по Си?
В случае JS - руль где-то рядом. В остальных языках дизайн более менее понятен. В питоне вообще функцию городить не надо, достаточно a, b = b, a
 
Ну swap, как я понимаю, чисто для примера был взят, вопрос изначально (в безграмотной формулировке) стоял так:
Можно ли как-то изменить аргументы из функции?
Что в переводе на язык здорового программиста звучит "можно ли в JS передавать параметры по ссылке, как в нормальных языках программирования"
Ответ я дал в сообщении #8
 
ну так если не литерал передавать, он по ссылке и так передается 'hz'