Понимание неявных точек с запятой ECMAScript и анализа пробелов - PullRequest
3 голосов
/ 01 июня 2011

Я часто видел, на самом деле, это цитируется как причина использования стиля K & R при написании ECMAScript.

function foo () {
  return
    {
      foo: 1
    }
  ;
}

Это не работает в ECMAScript или Javascript: добавление неявной точки с запятой приводит кфункция, возвращающая undefined.Однако я вижу это все время тоже

function bar () {
  var a = "BAR";
  return a
    .toLowerCase()
  ;
}

И мне интересно, почему неявные точки с запятой не приводят к возвращению "BAR", почему bar возвращается туда?

1 Ответ

2 голосов
/ 01 июня 2011

Поскольку синтаксис не работает с неявной точкой с запятой в конце строки.

Если добавить точку с запятой:

function bar () {
  var a = "BAR";
  return a;
    .toLowerCase()
  ;
}

вы получите синтаксическую ошибку в следующей строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...