Есть вопрос о интервью JS, вопрос: каков результат выполнения следующего кода и почему?
Кода -копия выглядит следующим образом:
var i, j, k;
for (i = 0, j = 0; i <10, j <6; i ++, j ++) {
k = i+j;
}
document.write (k);
Ответ состоит в том, чтобы показать 10. Этот вопрос в основном исследует оператор запятой JavaScript.
Вот определение оператора запятой MDN:
Оператор запятой рассчитывает два операнда (слева направо) и возвращает значение второго операнда.
Согласно этому определению, вы можете расширить его:
Оператор запятой рассчитывает два или более операнда слева направо и возвращает значение последнего операнда.
Вы можете почувствовать следующий код:
Кода -копия выглядит следующим образом:
предупреждение ((0, 9));
предупреждение ((9, 0));
if (0,9) оповещение ("OK");
if (9,0) оповещение ("OK");
Какова роль операторов запятой в реальном коде?
1. Обменные переменные без третьей переменной
Кода -копия выглядит следующим образом:
var a = "a", b = "b";
// Метод 1
a = [b] [b = a, 0];
// Метод 2
a = [b, b = a] [0];
2. Упростить код
Кода -копия выглядит следующим образом:
if (x) {
foo ();
вернуть бар ();
}
еще{
возврат 1;
}
Может быть сокращено как:
Кода -копия выглядит следующим образом:
Вернуть x? (foo (), bar ()): 1;