Javascript (+) знак объединяет вместо того, чтобы давать сумму переменных - PullRequest
73 голосов
/ 11 мая 2011

Почему, когда я использую это: (при условии i = 1)

divID = "question-" + i+1;

я получаю вопрос-11 , а не вопрос-2 ?

Ответы [ 13 ]

0 голосов
/ 11 мая 2011

Причина, по которой вы получаете это порядок приоритетов операторов, и тот факт, что + используется как для объединения строк, так и для выполнения числового сложения.

В вашем случае конкатенация«вопрос-» и i происходит первым, давая строку «вопрос = 1».Затем еще одна конкатенация строк с «1», дающая «вопрос-11».

Вам просто нужно дать подсказке интерпретатору, какой порядок приоритетов вы хотите.

divID = "question-" + (i+1);
0 голосов
/ 11 мая 2011

использование фигурных скобок, окружающих числа, будет рассматриваться как сложение вместо concat.

divID = "question-" + (i+1)
0 голосов
/ 11 мая 2011

Добавить скобки

divID = "question-" + (i+1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...