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
4699
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
4699
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
4699
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
4699
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, Супермодераторы



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

Сейчас этот форум просматривают: Google [Bot]


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

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