Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как в javascript передать ссылку? (https://javascript.ru/forum/misc/69336-kak-v-javascript-peredat-ssylku.html)

Rise 15.06.2017 20:20

jtd, да без разницы как названы, почитай что такое параметры функции и аргументы, и в js по ссылке передаются только объекты и нет специального синтаксиса для ссылок.

jtd 15.06.2017 20:21

Вы наверно неправильно поняли, нужен swap точно такой же как в C++

jtd 15.06.2017 20:22

Rise,
да ёбаный в рот, а нахуй ты мне лечишь за названия переменных, а потом говоришь что "без разницы как названы", пиздец блять.

Rise 15.06.2017 20:26

jtd, так естественно не должны совпадать с глобальными даун)

Alexandroppolus 15.06.2017 20:26

Цитата:

Сообщение от Rise
в js по ссылке передаются только объекты

точнее, ссылки на объекты передаются по значению.

т.е. даже если бы эти a и b из задачи были объектами, то в таком виде задача всё равно бы не решалась, в общем случае.

Rise 15.06.2017 20:30

Цитата:

Сообщение от Alexandroppolus
точнее, ссылки на объекты передаются по значению

:)

jtd 15.06.2017 20:37

Rise,
еблан при чём тут названия аргументов и названия переменных? Ты с программированием дальше хелловорлда знаком?

в сишке я могу написать

Код:

int SWAP(int &a, int &b) {
  int c = a;
  a = b;
  b = c;
}

и похуй что туда передавать, могу написать так же SWAP(a, b) и всё поменяется

Мне в лабе надо то же самое на жс
Зоопарк блять.

Rise 15.06.2017 20:41

jtd, да не получится так если переменная примитивного типа (не объект), а явного указания ссылки в js нет.

ruslan_mart 15.06.2017 22:10

Немного извращений :D

const myEval = code => eval(code);

function swap(a, b) {
	myEval(`a = ${b}; b = ${a}`);
}


let a = 0, b = 1;
swap(a, b);
console.log(a);
console.log(b);


Сойдёт?

Rise 15.06.2017 22:21

Ruslan_xDD, не то, там смысл в том чтобы если поменял имена переменных только здесь let c = 1, d = 2; и тоже бы работало.


Часовой пояс GMT +3, время: 06:12.