Почему я должен использовать точку с запятой после каждой функции в javascript?

Я видел, что разные разработчики включают точки с запятой после функций в javascript, а некоторые - нет. Какая практика?

function weLikeSemiColons(arg) {
   // bunch of code
};

или

function unnecessary(arg) {
  // bunch of code
}

Ответ 1

Точки с запятой после объявления функций не нужны.

Грамматика FunctionDeclaration описана в спецификация следующим образом:

function Identifier ( FormalParameterListopt ) { FunctionBody }

Нет точки с запятой, грамматически требуемой, но может удивиться, почему?

Точки с запятой служат для разделения операторов друг от друга, а FunctionDeclaration не является выражением.

FunctionDeclarations оцениваются до того, как код входит в исполнение, hoisting является распространенным словом, используемым для объяснения этого поведения.

Термины "объявление функции" и "оператор функции" часто ошибочно используются взаимозаменяемо, поскольку в спецификации ECMAScript нет оператора функций, однако существуют некоторые реализации, которые включают в себя функцию в грамматике, - возможно, Mozilla- но опять же это нестандартно.

Однако точки с запятой всегда рекомендуются там, где вы используете FunctionExpressions, например:

var myFn = function () {
  //...
};

(function () {
  //...
})();

Если вы опустите точку с запятой после первой функции в приведенном выше примере, вы получите полностью нежелательные результаты:

var myFn = function () {
  alert("Surprise!");
} // <-- No semicolon!

(function () {
  //...
})();

Первая функция будет выполнена немедленно, так как скобки, окружающие второй, будут интерпретироваться как Arguments вызова функции.

Рекомендуемые лекции:

Ответ 2

Я использую их после объявления функции как переменной:

var f = function() { ... };

но не после определений классического стиля:

function f() {
    ...
}

Ответ 3

JS Lint - это де-факто соглашение, и он не указывает точку с запятой после тела функции. См. Раздел "Точка с запятой".

Ответ 4

Просто оставайтесь последовательными! Они не нужны, но я лично их использую, потому что большинство методов минимизации полагаются на полуточку (например, Packer).

Ответ 5

Действительно, это зависит от ваших предпочтений. Мне нравится заканчивать строки кода полуколонами, потому что я привык к Java, С++, С# и т.д., Поэтому я использую те же стандарты для кодирования в javascript.

Я обычно не заканчиваю объявления функций в полуколонах, но это только мои предпочтения.

Браузеры будут запускать его в любом случае, но, возможно, когда-нибудь они придумают более строгие стандарты, регулирующие это.

Пример кода, который я бы написал:

function handleClickEvent(e)
{
     // comment
     var something = true;  // line of code
     if (something)  // code block
     {
        doSomething();  // function call
     }
}

Ответ 6

На самом деле это больше, чем проблема согласования или согласованности.

Я уверен, что не помещать точки с запятой после того, как каждое утверждение замедляет внутренний синтаксический анализатор, потому что ему нужно выяснить, где заканчивается конец инструкции. Хотелось бы, чтобы у меня было несколько удобных номеров, чтобы вы могли это подтвердить, но, может быть, вы сами это сделаете.:)

Кроме того, когда вы сжимаете или уменьшаете код, отсутствие полуколоней может привести к уменьшенной версии вашего script, который не сделает то, что вам нужно, потому что все пустое пространство уходит.

Ответ 7

Когда я минимизировал свои скрипты, я понял, что мне нужно использовать точку с запятой для функций, которые начинаются со знака равенства. если вы определяете функцию как var, да, вам нужно использовать точку с запятой.

нужна точка с запятой

var x = function(){};
var x = new function(){};
this.x = function(){};

не нужно ставить точку с запятой

function x(){}

Ответ 8

ПРОСТО:

Рекомендуется оставлять точки с запятой ; после фигурных скобок. Они считаются лучшей практикой в течение многих лет.

Одним из преимуществ их использования всегда является то, что вы хотите минимизировать свой JavaScript.

Как минимизация Javascript, помогает немного уменьшить размер файла.

Но как для лучшей практики и ответа выше, не рекомендуется использовать его после тега функции.

Если вы НЕ используете точки с запятой и если хотите минимизировать (как это делают многие разработчики, если их сайт много обслуживает) JavaScript) вы можете получить все виды ошибок/предупреждений.

Ответ 9

точка с запятой после функции не нужна Использование этого или нет, не вызывает ошибок в вашей программе. однако, если вы планируете минимизировать свой код, то лучше использовать точку с запятой после функций. скажем, например, у вас есть код, подобный приведенному ниже

//file one
var one=1;
var two=2;
function tryOne(){}
function trytwo(){}

и

//file two
var one=1;
var two=2;
function tryOne(){};
function trytwo(){};

когда вы минимизируете оба, вы получите следующее как вывод

Обратите внимание, что комментарии только для иллюстрации

//file one
var one=1;var two=2;function tryOne(){}
function trytwo(){}

и

//file two
var one=1;var two=2;function tryOne(){};function trytwo(){};