Оператор запятой Javascript
-
20-08-2019 - |
Вопрос
При объединении присваивания с запятой (чего, вероятно, делать не следует), как javascript определяет, какое значение присваивается?Рассмотрим эти два фрагмента:
function nl(x) { document.write(x + "<br>"); }
var i = 0;
nl(i+=1, i+=1, i+=1, i+=1);
nl(i);
И:
function nl(x) { document.write(x + "<br>"); }
var i = 0;
nl((i+=1, i+=1, i+=1, i+=1));
nl(i);
Первые результаты
1
4
в то время как второй выводит
4
4
Что здесь делают круглые скобки?
Решение
Здесь я перепутал две вещи.Первый вызов 'nl' - это вызов функции с четырьмя аргументами.Второй - это включение запятой в один аргумент.
Итак, ответ:значением списка выражений, разделенных символом ',', является значение последнего выражения.
Не связан с StackOverflow