Дополнение не работает в JavaScript

javascript addition

34623 просмотра

7 ответа

Я пытаюсь выучить Javascript. Здесь меня смущает следующий код.

http://rendera.heroku.com/usercode/eae2b0f40cf503b36ee346f5c511b0e29fc82f9e

Когда я вставляю x+yфункцию, она идет не так. Например 2+2=22,5+7=57

Но /, *, -это работает. Почему +не работает? Пожалуйста, помогите мне. Заранее большое спасибо

Автор: Theepan K. Источник Размещён: 12.11.2019 09:10

Ответы (7)


46 плюса

Решение

Одна или обе переменные являются строкой, а не числом. Это делает +конкатенацию строки do.

'2' + 2 === '22';  // true

2 + 2 === 4;  // true

Другие арифметические операторы / * -выполнят toNumberпреобразование строки (строк).

'3' * '5' === 15;  // true

Быстрый способ преобразовать строку в число - использовать унарный +оператор.

+'2' + 2 === 4;  // true

... или с вашими переменными:

+x + +y
Автор: RightSaidFred Размещён: 04.12.2011 06:06

6 плюса

+имеет два использования. Один - это дополнение, другой - это конкатенация строк. Если одна или обе ваши переменные являются строкой, они +будут объединены.

Вам нужно будет использовать parseIntили, parseFloatчтобы превратить строку в число.

Автор: James Montagne Размещён: 04.12.2011 06:08

3 плюса

В Javascript оператор + может выполнять сложение или объединение в зависимости от типа своих операндов. Когда числа используются с +, он использует сложение, но когда строки используются с +, он объединяет (объединяет строки)

Автор: danwellman Размещён: 04.12.2011 06:08

2 плюса

это работает каждый раз

((x*1) + (y*1))
Автор: chrisrth Размещён: 18.07.2014 04:32

1 плюс

Если числа, которые вы пытаетесь добавить, равны 10 и 12, если их итоговая сумма должна быть равна 22, то вам, вероятно, следует сделать это следующим образом:

+10 + +12

И результатом может быть строка типа 1012, если одно или оба числа являются строкой.

Автор: Siddhu Размещён: 11.06.2014 08:21

0 плюса

Унарный плюс должен работать:

var totalVal = (+2) + (+2);

alert(totalVal);
// result 4
Автор: aravind3 Размещён: 22.05.2014 05:46

0 плюса

Оператор сложения работает следующим образом:
1) если хотя бы один операнд является строкой, то другой преобразуется в строку и выполняется конкатенация;

1 + "2"        // "12"
"2" + "3"      // "23"
"2" + null     // "2null", null is converted to "null"

2) В других случаях оба операнда преобразуются в числа:

1 + null      // 2, null is converted to 0
1 + undefined // NaN, undefined is converted to NaN

Обратитесь к оператору добавления JavaScript в отчете для получения более подробной информации.

Автор: Dmitri Pavlutin Размещён: 04.01.2016 03:09
Вопросы из категории :
32x32