javascript - 两变量这样写为什么却不相加

查看:122
本文介绍了javascript - 两变量这样写为什么却不相加的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<script>
a='1';
b='5';
alert(a+b);
</script>

运行后返回15而不是6 它直接把两个变量放一块了 没有进行相加 怎样解决?

这个问题已被关闭,原因:评论里远题主解决了问题...

解决方案

首先javascripts为弱类型语言。使用a='1';
b='5'; 定义赋值变量a和b,这样a和b都被定义为了字符串,而运算符+除了可以用作数值的加法运算外还可以用来连接字符串,因此此处因为两个变量都为字符串所以+号的作用是字符串拼接而不是使数值作加法运算。

解决方法:
直接这样赋值:
a=1;
b=5;
即可直接进行加法运算

a='1';
b='2';

把字符串变量a和b转化为数值
①使用parerInt()方法:

        a='1';
        b='5';
        alert(parseInt(a)+parseInt(b));
        

②使用强制类型转换

alert(Number(a)+Number(b));

③使用弱类型转换:

        a='1'-0; //实际上使a='1'字符转换为数值
        b='5'-0; //实际上使b='5'字符转换为数值
        alert(a+b);
        
        

另外注意在定义变量时最好加上var,除非你想在函数内定义全局变量,不然不使用var关键字定义的变量都为全局变量。

这篇关于javascript - 两变量这样写为什么却不相加的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆