Когда вы пишете закладки букв JavaScript, вы не можете использовать //
, потому что код JavaScript рассматривается как одна строка. Вместо этого вы должны использовать /* ... */
. Это не имеет смысла для меня, потому что вы можете использовать //
в обычных скриптах, даже если символы новой строки игнорируются.Как JavaScript анализирует отдельные строки, если он игнорирует символы новой строки?
В разделе 2.3 из The Definitive Guide
JavaScript игнорирует пробелы, символы табуляции и новой строки, которые появляются между токенов в программах ...
Затем в секции 2,5 из Окончательное руководство
... Любой te х между // и концом строки рассматривается как комментарий и игнорируется JavaScript ...
Эти заявления кажутся противоречащими друг другу.
Согласно разделу , раздел 2.3, обычный скрипт является в значительной степени одной строкой J.S, так как символы новой строки игнорируются. Может кто-нибудь объяснить мне, почему //
возможен в обычном скрипте, но не в букмаркете?
Вы, кажется, не обращая внимания на самую важную часть, то есть * «..., которые появляются между маркерами ...» * – Phil
You можно вставить boomarklets [здесь] (http://gutfullofbeer.net/escape.html), чтобы URL-адрес закодировал (и unencode) их. – Pointy
Заявление «JavaScript игнорирует пробелы, табуляции и новые строки» неверно. Они не игнорируются вообще, они важны для разделения токенов, для автоматической установки вставки с запятой и для завершения одиночных комментариев, которые имеют следующий сценарий. См. [ECMA-262 §7.2] (http://ecma-international.org/ecma-262/5.1/#sec-7.2): «Символы пробела используются для улучшения удобочитаемости исходного текста и для разделения токенов (неделимых лексических единиц) друг от друга, но в ином случае несущественны. Кроме того, [Линейные терминаторы] (http://ecma-international.org/ecma-262/5.1/#sec-7.3) не являются пробелами. – RobG