Поиск…


Синтаксис

  • // Single line comment (continues until line break)
  • /* Multi line comment */
  • <!-- Single line comment starting with the opening HTML comment segment "<!--" (continues until line break)
  • --> Single line comment starting with the closing HTML comment segment "-->" (continues until line break)

Использование комментариев

Чтобы добавить аннотации, подсказки или исключить выполнение какого-либо кода, JavaScript предоставляет два способа комментирования строк кода

Отдельная строка Комментарий //

Все после // до конца строки исключается из исполнения.

function elementAt( event ) {
  // Gets the element from Event coordinates
  return document.elementFromPoint(event.clientX, event.clientY);
}
// TODO: write more cool stuff!

Многострочный комментарий /**/

Все между открытием /* и закрытием */ исключается из исполнения, даже если открытие и закрытие находятся на разных линиях.

/*
   Gets the element from Event coordinates.
   Use like: 
   var clickedEl = someEl.addEventListener("click", elementAt, false);
*/
function elementAt( event ) {
  return document.elementFromPoint(event.clientX, event.clientY);
}
/* TODO: write more useful comments! */

Использование комментариев HTML в JavaScript (Плохая практика)

Комментарии HTML (необязательно предшествующие пробелам) заставят код (в той же строке) также игнорировать браузер, хотя это считается плохой практикой .

Однострочные комментарии с последовательностью открытия комментария HTML ( <!-- ):

Примечание: интерпретатор JavaScript игнорирует закрывающие символы комментариев HTML ( --> ) здесь.

<!-- A single-line comment.
<!-- --> Identical to using `//` since
<!-- --> the closing `-->` is ignored.

Этот метод можно наблюдать в устаревшем коде, чтобы скрыть JavaScript от браузеров, которые его не поддерживали:

<script type="text/javascript" language="JavaScript">
<!--
/* Arbitrary JavaScript code.
   Old browsers would treat
   it as HTML code. */
// -->
</script>

Комментарий закрытия HTML также может быть использован в JavaScript (независимо от открытого комментария) в начале строки (необязательно предшествует пробелу), и в этом случае это также приводит к игнорированию остальной части строки:

--> Unreachable JS code

Эти факты также были использованы для того, чтобы страница могла называть себя сначала как HTML, а во-вторых, как JavaScript. Например:

<!--
self.postMessage('reached JS "file"');
/*
-->
<!DOCTYPE html>
<script>
var w1 = new Worker('#1');
w1.onmessage = function (e) {
    console.log(e.data); // 'reached JS "file"
};
</script>
<!--
*/
-->

При запуске HTML весь многострочный текст между комментариями <!-- и --> игнорируется, поэтому содержащийся в нем JavaScript игнорируется при запуске как HTML.

Однако, как и JavaScript, в то время как строки, начинающиеся с <!-- и --> , игнорируются, их эффект заключается не в том, чтобы выходить на несколько строк, поэтому строки, следующие за ними (например, self.postMessage(... ) не будут игнорируются при запуске как JavaScript, по крайней мере до тех пор, пока они не достигнут комментария JavaScript , помеченного /* и */ . Такие комментарии JavaScript используются в приведенном выше примере, чтобы игнорировать оставшийся текст HTML (до тех пор, пока --> который также игнорируется как JavaScript ).



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow