Что делает запятая в выражениях JavaScript?

Если я использую:

1.09 * 1; // returns "1.09"

Но если я использую:

1,09 * 1; // returns "9"

, я знаю, что 1,09 не число.

Что делает запятая в последнем фрагменте кода?

Дополнительные примеры

if (0,9) alert("ok"); // alert
if (9,0) alert("ok"); // don't alert

alert(1); alert(2); alert(3); // 3 alerts
alert(1), alert(2), alert(3); // 3 alerts too

alert("2",
    foo = function (param) {
        alert(param)
    },
    foo('1')
)
foo('3'); // alerts 1, 2 and 3
81
задан 22 revs, 8 users 80% 27 January 2016 в 21:46
поделиться

3 ответа

Оператор запятой оценивает оба из его операнды (слева направо) и возвращает значение второго операнд.

Источник: https://developer.mozilla.org/en/JavaScript/Reference/Operators/Special_Operators/Comma_Operator

Например, выражение 1,2,3,4,5 оценивается как 5 . Очевидно, что оператор запятой полезен только для операций с побочными эффектами.

 console.log (1,2,3,4,5); console.log ((1,2,3,4,5)); 
84
ответ дан 24 November 2019 в 09:42
поделиться

Еще кое-что, о чем следует подумать:

 console.log ((0, 9)); console.log ((9, 0)); console.log (("foo", "bar")); 
5
ответ дан 24 November 2019 в 09:42
поделиться

Посмотрите здесь - запятая означает несколько выражений / операторов. Например, в вашем коде вы можете использовать такую ​​строку:

var a=0, b=0, c=0;

Это объявляет все три переменные без записи:

var a=0;
var b=0;
var c=0;

Надеюсь, что это поможет.

4
ответ дан 24 November 2019 в 09:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: