Зачем использовать "// ->" в JavaScript - PullRequest
3 голосов
/ 30 июля 2010

Я видел этот тег, использовавшийся после функций javascript уже более десяти лет, и никогда не спрашивал, ПОЧЕМУ. Это видно в большинстве учебных пособий, которые я видел за это время, но я обычно их пропускаю ... похоже, это не так или иначе влияет. Может кто-нибудь просветить меня, почему это используется?

Если это просто означает конец функции javascript, разве правильная скобка не будет адекватной? Если это для ряда функций, используется конечный тег script.

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



function helloWorld() {
   document.write('<b>Hello World</b>');
}
//-->

Заранее спасибо!

Ответы [ 6 ]

10 голосов
/ 30 июля 2010

Это пережиток тех дней, когда браузеры без поддержки JS были достаточно распространены. Если бы вы включали код JS непосредственно в файл HTML, вы бы включили в код теги комментариев HTML (<!-- -->), чтобы эти браузеры не отображали его как часть страницы. Причина // --> заключается в том, что браузеры, которые поддерживают поддерживают JS, не пытались интерпретировать закрывающий комментарий HTML как часть кода JS.

4 голосов
/ 30 июля 2010

В свое время некоторые браузеры не обрабатывали javascript, поэтому, чтобы избежать ошибок, вы должны поместить код javascript в блок комментариев HTML "".

Сегодня стандарты XHTML гласят, что вы должны экранировать свой скрипт как

<script type="text/javascript">
<![CDATA[
... unescaped script content ...
]]>
</script>

Это не нужно делать для HTML.См .:

http://www.w3.org/TR/xhtml1/
http://www.w3schools.com/tags/tag_script.asp
3 голосов
/ 30 июля 2010

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

Обратите внимание, что ему также нужно <!--в начале, чтобы сделать комментарий.

Читать это: http://lachy.id.au/log/2005/05/script-comments

1 голос
/ 04 июля 2011
  1. Для браузеров, которые не понимают JavaScript или если JavaScript отключен вручную, эти начало <!-- и конец html_comment_tags --> помогут комментировать bad_data внутри скрипта > / ? < & ^ % # ) ! - (
  2. Если браузер понимает javascripts, он не будет анализировать последний тег comment_ending --> из-за //, помещенного перед тегом html_comment_end -->, и если браузер не понимает значение // тегов комментариев javascript (просто потому, что jscript выключен), тогда он, очевидно, анализирует --> обычным способом и комментирует все внутри <script></script>, включая //
1 голос
/ 30 июля 2010

Это также полезно, если вы проверяете свой HTML-код, поэтому JS не отображается как недопустимая HTML-разметка.Как все упоминали, однако, это довольно устарело.Лично я стараюсь никогда не использовать встроенный JavaScript, всегда во внешнем файле, который можно кэшировать, что делает этот стиль кодирования бесполезным

1 голос
/ 30 июля 2010

Если вы заметили, вы также можете увидеть <!-- перед сценариями.

Этот синтаксис используется для того, чтобы браузер, не поддерживающий Javascript, игнорировал тело этих сценариев.

Фактически в html все, что окружено <!-- и -->, считается комментарием

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