как предотвратить цепочку при добавлении переменных JavaScript, содержащих числа - PullRequest
1 голос
/ 25 ноября 2011

Как я могу запретить JavaScript интерпретировать мои числовые переменные из строковых переменных?

var a = 100;
var b = -10
var c = a + b // 10-10 (string)

Допустим, я всегда хочу

var c = a + b = 100+(-10) = 90 (number)

Ответы [ 5 ]

3 голосов
/ 25 ноября 2011

В вашем примере c будет всегда равным 90, однако;

var a = 100;
var b = "-10";
var c = a + b // "100-10" (string)

, чтобы предотвратить это, преобразует строку в целое число;одинарный +

var c = a + +b; 
0 голосов
/ 25 ноября 2011

Наиболее кратким способом является добавление +, если вы не уверены, являются ли переменные числами или строками:

var a = "100";
var b = "-10";
var c = +a + +b; // 90

Это работает с +"123" === 123 и т. Д.

0 голосов
/ 25 ноября 2011

JavaScript всегда будет делать последнее, если обе переменные, которые вы добавляете, являются числами.

0 голосов
/ 25 ноября 2011

Ваш код работает нормально.Смотрите здесь .

0 голосов
/ 25 ноября 2011

Ваш пример кода ...

var a = 100;
var b = -10
var c = a + b // 90 (number) 

... не сделает этого, если один из операндов не является String.В вашем примере оба значения: Number.

. Если у вас есть числа внутри String с, вы можете использовать parseInt() (не забудьте передать основание 10, если вы работаете вдесятичный) или, возможно, просто префикс String с +, чтобы привести его к Number.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...