Сегодня я увидел кусок кода JS сжал Yui Compressor:
usernum && (ind += index, ind> = usernum && (ind -= usernum), ind <0 && (ind === -2 && (ind = -1), ind += usernum), selli.removeclass ("on"), $ (selli [ind]). addclass ("on"));
Я сошел с ума, и, вероятно, мало кто мог понять все это одновременно. Затем «перевести» его.
&& (логистический и)
Здесь в основном операция «&&». Прежде всего, вам нужно понять это и увидеть простой пример:
1 var a = 1 && 2 && 3; // 3
2 var b = 0 && 1 && 2; // 0
3 var c = 1 && 0 && 2; // 0
4 оповещение (а), предупреждение (б), предупреждение (c);
Хе -хе, метод написания очень странный, результат бега составляет 3, 0, 0. Как правило, мы часто используем его в операторах. Операция "&&" (логическая и) на самом деле противоположна "||" операция Операция "&&" возвращается, когда она встречается с ложными.
Например: a && b, если a верно, непосредственно возвращает B, независимо от того, является ли B истинным или ложным. Если А является ложным, тогда верните прямо. В приведенном выше примере первый var a = 1 && 2 && 3; Потому что 1 && 2, 1 - верно, возврат 2; 2 && 3, 2 верно, возврат 3.
После понимания операции «&&», затем посмотрите на сжатый код JS YUI на верхней поверхности и переведите его:
if (usernum) {ind += index; if (ind> = usernum) {ind- = usernum;} if (ind <0) {if (ind === -2) {ind = -1;} ind += usernum;} soldi.removeclass ("on"); }Чтобы быть стыдно, я стар и «переводил» в течение получаса, но только с помощью моих коллег «перевод» правильный.
|| (логично или)
Давайте посмотрим на «||» (логическая или) операция, и см. Пример:
1 var a = 0 || 1 || 2; // 1
2 var b = 1 || 0 || 3; // 1
3 оповещения (а), предупреждение (б);
"||" Операция возвращается, когда она сталкивается с правдой. Например: a || b, если a является ложным, непосредственно возвращает B, независимо от того, является ли B истинным или ложным. Если это правда, он вернется напрямую и не будет продолжать выполнять.
&& (логично и) и || (логично или) следует обратить внимание на их приоритет:
&& (Logic &) Приоритет выше || (Логика или)
вернуть A && B || в,
Мы можем судить о возвратной стоимости на основе. Если А является ложным, это определенно вернет С; Если B и C оба верны, то мы можем решить, на основе B или C на основе A. Если A неверно, он вернет c. Если это правда, это вернет б.
вернуть || b && c
Согласно приоритету, B && C рассчитывается сначала, а затем A IS или с A; Если a истинно, он возвращает A, будь то B или C, если A является ложным, то если B является ложным, он возвращает B, и если B истинно, он возвращает C;
1 var a = 3 && 0 || 2; // 2
3 var b = 3 || 0 && 2; // 3
5 var c = 0 || 2 && 3; // 3
6 оповещение (а), блюд (б), предупреждение (c);
Также прилагается: приоритет оператора JS (перечислен от высокого до минимума)
| Операторы | описывать |
| Полем [] () | Доступ к полю, массив, подпись, вызовы функций и группировка выражений |
| ++ - - ~! Удалить новый тип void | Unary Operator, Возврат тип данных, создание объекта, неопределенное значение |
| */ % | Умножение, деление, извлечение плесени |
| + - + | Добавление, вычитание, конкатенация строки |
| << >> >>>> | Сдвиг |
| <<=>> = экземпляр | меньше, чем, меньше или равно, больше, чем больше, чем или равен, экземпляр |
| ==! = ===! == | Равные, не равные, строго равные, не строго равные |
| И | Побито и |
| ^ | Побитовый XOR |
| | | кубик или |
| && | Логика и |
| || | Логичный или |
| ?: | состояние |
| = OP = | Назначение, оперативное назначение |
| В | Многочисленная оценка |
В приведенной выше статье кратко обсуждается JS Operators && и || И их приоритеты - все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.