Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Михаил_96
19 / 19 / 13
Регистрация: 22.11.2015
Сообщений: 109
1

El.value for number

24.05.2016, 21:11. Просмотров 680. Ответов 5
Метки нет (Все метки)

Привет, яваскриптовищики или джавасриптовищики!)
Мне стала интересна такая вот штука:
HTML5
1
<input id="el" type="number" value="3">
Javascript
1
2
3
console.log(el.value + el.value); // 33
console.log(el.value * el.value); // 9
console.log(el.value - (-el.value)); // 6
В 1 строчке скрипт выводит конкатенацию чисел в консоль, но почему конкатенацию?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2016, 21:11
Ответы с готовыми решениями:

Побитовые операторы (number && + number | 0 || 0)
Наткнулся на такую функцию (приводит к int, либо возвращает 0, если это нельзя сделать.) : ...

Object Number
Всем доброго времени суток, Подскажите пожалуйста как можно присвоить константе Number.MAX_VALUE...

Расширить объект number
как реализовать? Расширить объект number новыми свойствами и методами позволяющими задавать единицы...

js аналог html - формы type = number
есть ли js (jquery) аналог html-формы &lt;input type = 'number'&gt; в виде, указанном на картинке (т.е....

сложение лету данных из input number
Есть нижеуказанный код. Не получается динамически показывать сумму значений input...

5
Sergey Yermak
123 / 62 / 37
Регистрация: 22.05.2016
Сообщений: 174
24.05.2016, 21:29 2
Лучший ответ Сообщение было отмечено Михаил_96 как решение

Решение

Скорее всего параметр "value" изначально идет как строка, а знак "+" для строк означает конкатенацию
0
Михаил_96
19 / 19 / 13
Регистрация: 22.11.2015
Сообщений: 109
24.05.2016, 21:50  [ТС] 3
А почему тогда с минусом или с умножением никаких ошибок нет?

Добавлено через 3 минуты
Аа, теперь понял
Javascript
1
console.log("5"-"4"); // 1
Но все равно как-то странновато
0
Sergey Yermak
123 / 62 / 37
Регистрация: 22.05.2016
Сообщений: 174
24.05.2016, 21:54 4
Минуса и умножения для строк нет, только для чисел. Думаю из-за этого они преобразуются в числа сначала
0
Михаил_96
19 / 19 / 13
Регистрация: 22.11.2015
Сообщений: 109
24.05.2016, 22:05  [ТС] 5
Цитата Сообщение от Sergey Yermak Посмотреть сообщение
Минуса и умножения для строк нет, только для чисел. Думаю из-за этого они преобразуются в числа сначала
Да, похоже, что так и есть
0
kalabuni
Нарушитель
3310 / 2623 / 629
Регистрация: 18.04.2012
Сообщений: 7,906
25.05.2016, 06:36 6
Цитата Сообщение от Михаил_96 Посмотреть сообщение
все равно как-то странновато
яваскрипт - язык со "слабой типизацией".
перед совершением каких-то действий парсер определяет тип операндов и, если предполагаемое действие с этими типами операндов совершить невозможно, то типы операндов автоматически преобразуются

ну и... value - это атрибут тега, а значения атрибутов -- это всегда строки (тип string)
1
25.05.2016, 06:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2016, 06:36

массив, нужно получить ключ (number)
Здравствуйте, есть массив, нужно получить ключ (number 0-8) зная значения? var Massive = ;...

Ограничить минимальное и максимальное количество чисел в input type=“number”
Как с помощью скрипта ограничить минимальное и максимальное количество чисел в input type=&quot;number&quot;?...

Выбор элемента по атрибуту data-number, код есть, не могу понять почему не работает как нужно!
Всем привет! Товарищи, помогите, столкнулся с проблемой. У меня есть map в котором лежат area, у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru