Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как одной регулярной найти все матчи? (https://javascript.ru/forum/offtopic/38322-kak-odnojj-regulyarnojj-najjti-vse-matchi.html)

kobezzza 28.05.2013 22:28

ну void же унарный оператор, а у них оч высокий приоритет.

monolithed 28.05.2013 22:30

Цитата:

Сообщение от Maxmaxmaximus.js
что вернет этот код)?

0.2
Цитата:

Сообщение от Maxmaxmaximus.js
сработает ли он)?

Малыш узнал про метки?

d: - создание метки

a:1; 2; // 2

{} - block scope, который в JS поддерживается только на уровне синтаксиса , без реализации (

{
  var a = 1;
}

a; // 1

void 1; undefined

0/1; - 0

undefined | 0; // выполняется целочисленное преобразование

{0}.2; // 0.2

Maxmaxmaximus.js 28.05.2013 22:32

Цитата:

Сообщение от monolithed
Малыш узнал про метки?

метки?

monolithed 28.05.2013 22:35

Цитата:

Сообщение от Maxmaxmaximus.js
метки?

а что смущает?

Maxmaxmaximus.js 28.05.2013 23:05

чо за метки?

monolithed 28.05.2013 23:12

https://developer.mozilla.org/en-US/...ent s%2Flabel

Maxmaxmaximus.js 28.05.2013 23:27

Блин а по русски есть?

kobezzza 28.05.2013 23:42

Цитата:

Сообщение от Maxmaxmaximus.js (Сообщение 253267)
Блин а по русски есть?

Дык там всё просто. Метку можно повесить на блок, а затем использовать вместе с операторами break и continue;

top: while (1) {
  var i = 10;
  while (i--) {
      if (i === 5) {
          break top;
      }
  }
}


Без метки break сбросил бы вложенный цикл, а так он сбросил верхний цикл. Кроме циклов ещё можно использовать с конструкцией switch.

На практике метки не оч часто используются, но иногда удобно, если знаешь про них.

melky 28.05.2013 23:53

http://javascript.ru/forum/misc/9459...tml#post101278

monolithed 28.05.2013 23:58

На самом деле очень полезная штука при написании парсеров. Позволяет разрешить глубокие ветвления без создания дополнительных переменных.

label:
for (var a = 0; a < 2; a++) 
{
   console.log(a);
   for (var b = 3; b < 5; b++) 
   {
      for (var c = 6; c < 9; c++) 
      {
          console.log(c);

          if (c == 7)
            continue label;
      }
   }
}


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