在JS里。大家都知道”+“的作用是连接字符串,和相加运算两种。
平时用的时候呢。也大多数没问题。
如:
var num1 = 4; var num2 = 4; var num3 = num1 + num2; return num3;
这个代码返回的是”8",OK没有问题。
如:
var str1 = "hello"; var str2 = "world"; var str3 = str1 + str2; return str3;
这个代码返回"helloworld",OK没有问题。
但是如果是这样的情况呢?
如:
var num1 = 4; var num2 = "4"; var num3 = num1 + num2; return num3;
这个代码返回的结果是"44",而不是"8"。而且其的typeof是string。
这怎么解决?
这种问题啥时候能遇到呢?比如说你从数据库里面查出值来,或者从输入框里取值就有可能遇到这种情况?
那咋办呢?嘿嘿。看一下。
var num1 = 4; var num2 = "4"; var num3 = num1 + (num2*1); return num3;
OK。问题解决。看来小学学的知识才是最有用的啊。哈哈。