![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
Доброе время суток.
Есть две переменные: var х = 17 и var у = 25 Если я пишу: var z = x + y то получаю z=1725..... Вообщето я ожидал получить - 42 Как отличать оператор прибавления чисел и присоединения стринга ? Ведь в обоих случаях это оператор + Прошу прощения за столь простой и глупый вопрос. Заранее благодарю |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 6 Всего: 101 |
Если x - строка, то так и будет. Чтобы получить число, пишите
var z = Number(x) + y; или другим способом. Тип операции определяется первым аргументом. -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
|||
|
||||
| t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
Понял.Спасибо.
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
parseInt(x) или parseFloat(x), а также x*1 превращают строку в число
|
|||
|
||||
| t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
bars80080, полезная информация.
Спасибо. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
сам недавно узнал про такой оператор ;) -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
попробовал вариант:
Number(x) + y; при условии если:
На выходе получаю 1725 . получается, утверждение, что "операция определяется первым аргументом" не верно... |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
а Number(x) + Number(y) ?
приоритет всё-таки определяется положением в самом конце, в начале скобки, затем операторы, а потом типом переменных. и только в конце порядком |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |