2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:19 
Аватара пользователя


01/12/11

8634
Вопрос №1:

Как известно большинству программистов, в языке JavaScript многострочный комментарий к программному коду создаётся с помощью символов "/* */".
А как быть, если сам комментарий содержит эти символы? Например, я желаю написать некий длинный комментарий, содержащий, помимо всего прочего, следующую фразу: «Символы "/* */" служат для создания многострочного комментария».

Вопрос №2:

Если строка (имеется в виду переменная типа "string") содержит кавычки, то по правилам JavaScript перед каждой кавычкой надо писать "\". А как быть, если строка должна содержать, помимо всего прочего, и сам символ "\"? Или, ещё лучше, символ "\", за которым следует кавычка? Допустим, я хочу присвоить некоей переменной типа string значение, равное 1234\"4321. Что делать в этом случае?

Разумеется, эти два вопроса касаются не только языка JavaScript, но и любого другого языка программирования. Особенно меня волнует второй вопрос. Ведь если комментарий к коду можно и изменить в случае чего, отказавшись от "неудобных" символов, то с переменной типа "string" это можно проделать уже не всегда.

Заранее благодарю за исчерпывающий ответ!

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:25 
Заслуженный участник
Аватара пользователя


01/09/13
4656
Ktina в сообщении #1323692 писал(а):
А как быть, если строка должна содержать, помимо всего прочего, и сам символ "\"?

Бэкслэш эскейпиться бэкслэшем... (и это не символ, а пара символов)

Ktina в сообщении #1323692 писал(а):
А как быть, если сам комментарий содержит эти символы?

Никак.

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:31 
Аватара пользователя


01/12/11

8634
Geen в сообщении #1323696 писал(а):
Бэкслэш эскейпиться бэкслэшем... (и это не символ, а пара символов)

То есть, если я хочу присвоить некоей переменной типа string значение, равное 1234\"4321, мне надо написать «1234\\\"4321»?

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:34 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
1 - это называется "вложенные комментарии". Языки их либо поддерживают, либо нет. Большинство все-таки не поддерживают, и js в том числе. То есть первая же встреченная комбинация */ закроет комментарий.

2 - это называется "экранирование символов" (по-английски - escape characters). Две основные стратегии экранирования - либо повторение символа (pascal, SQL), либо использование спецсимвола (как правило, языки с С-подобным синтаксисом). В случае спецсимвола для экранирования, наличие такого символа говорит "а следующий символ не управляющий, а обычный" (правда, там куча нюансов со всякими \n и т. п.

-- 01.07.2018, 00:37 --

Ktina в сообщении #1323700 писал(а):
То есть, если я хочу присвоить некоей переменной типа string значение, равное 1234\"4321, мне надо написать «1234\\\"4321»?
Да.
Да и вообще, такие вещи быстрее проверить самому, чем ждать ответа на форуме. Пишете в консоли браузера
Используется синтаксис Javascript
console.log(1234\\\"4321’)
и смотрите на ответ.

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:40 
Заслуженный участник
Аватара пользователя


01/09/13
4656
Ktina в сообщении #1323700 писал(а):
Geen в сообщении #1323696 писал(а):
Бэкслэш эскейпиться бэкслэшем... (и это не символ, а пара символов)

То есть, если я хочу присвоить некоей переменной типа string значение, равное 1234\"4321, мне надо написать «1234\\\"4321»?

Да.

Но в JS строки можно "обозначать" и одинарными кавычками - эскейпить двойные тогда не надо...

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:40 
Аватара пользователя


01/12/11

8634
rockclimber в сообщении #1323701 писал(а):
Да и вообще, такие вещи быстрее проверить самому, чем ждать ответа на форуме. Пишете в консоли браузера
Используется синтаксис Javascript
console.log(1234\\\"4321’)
и смотрите на ответ.

Я пробую вот тут писать, но в этом случае ответ негде посмотреть.

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:43 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Консоль javascript есть в любом браузере. Ну кроме разве что мобильных.

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:44 
Заслуженный участник
Аватара пользователя


01/09/13
4656
rockclimber в сообщении #1323701 писал(а):
console.log

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

Проще просто саму строку написать

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:46 
Аватара пользователя


01/12/11

8634
rockclimber в сообщении #1323710 писал(а):
Консоль javascript есть в любом браузере. Ну кроме разве что мобильных.

Это не та ли самая, которая Ctrl+Shift+I? Просто ещё 10 минут тому назад мне совершенно не было об этом известно :oops:

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:47 
Заслуженный участник
Аватара пользователя


01/09/13
4656
Ktina в сообщении #1323712 писал(а):
Это не та ли самая, которая Ctrl+Shift+I?

Вроде бы F12...

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение30.06.2018, 23:49 
Аватара пользователя


01/12/11

8634
Geen в сообщении #1323713 писал(а):
Ktina в сообщении #1323712 писал(а):
Это не та ли самая, которая Ctrl+Shift+I?

Вроде бы F12...

У меня F12 только яркость экрана меняет...

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение01.07.2018, 03:09 


05/09/12
2587
Везет вам... У меня F12 вообще нету.

 Профиль  
                  
 
 Re: Пара вопросов по синтаксису JavaScript (и не только)
Сообщение01.07.2018, 21:38 
Аватара пользователя


07/01/13
261
NJ
Вот тут есть пара вариантов javascript online editors/compilers:
https://www.tutorialspoint.com/online_j ... editor.php
https://www.tutorialspoint.com/execute_ ... online.php

зы. есть еще третий вариант задать строку с кавычками внутри в не очень старой версии javascript:
var myStr = `1 2 "3" '4' 5`
console.log(`myStr: ${myStr}`)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group