阅读:13129回复:3
JavaScript使用加号避免拼接字符串的技巧var num1 = 2; var num2 = 3; var sum = num1 + num2; alert(sum); —————————————————————————— 如上所示,运行后的结果必定是“23”, 但是减、乘、除都不会出现问题, 并且使用“isNaN”方法进行检测出num1和num2都是number类型的, 我们知道,为了避免字符串拼接我们可以使用“parse”方法进行转换, 但是,调用方法进行转换会对效率降低, 并且我们的num1和num2都是number类型的, 所以貌似似乎有点说不过去, 在这里,我教大家一个简单的方法, 并且不用调用任何方法解决,如下所示: —————————————————————————— var num1 = 2; var num2 = 3; var sum = (num1-0) + (num2-0); alert(sum); —————————————————————————— 我们可以看到,只需要对num进行减法运算一下就ok了 |
|
|
沙发#
发布于:2019-11-20 19:58
doubleyong:var num1 = 2; 哈哈,承让承让,不是字符串的数字哦,可能当时写文章的时候没有写清楚了呢,满足文章的条件代码应该是如下: var num1 = 2; var num2 = 3; var sum = "结果为:" + num1 + num2 ; alert(sum); 这个计算结果呢,确实是23。 为什么会有这样的问题呢? 其实是因为js的运算先后顺序影响的,同时运算多个加法的时候,从左往右依次计算,首先计算的是: "结果为:" + num1 到这里呢,原本num类型的num1已经受到了前面的字符串影响,其结果变为了: "结果为:2"可以看到此时结果已经是字符串类型了,因此再与后面的num2运算,结果也就注定是字符串类型 所以呢,大家在拼接字符串的时候,需要进行四则运算的部分优先用括号括起来哦 |
|
|
板凳#
发布于:2019-08-16 10:03
var num1 = 2;
var num2 = 3; var sum = num1 + num2; alert(sum); —————————————————————————— 如上所示,运行后的结果必定是“23”, 楼主:这个输出是5,不是23 是不是应该写成 var num1 = "2"; var num2 = "3"; |
|
|
地板#
发布于:2016-06-22 09:47
+ 号 , 有两种含义: 第一种: 加法运算, 第二种:就是连接字符串。 而只有当 + 号两边都为数字时, 系统才会认为是加法运算。 而 - , * , / 不同,它只有一种含义,就是运算。 所以,当运算符的两边不是数字时,它会把字符串,转成数字类型再进行想应的运算。
ps : 楼主的这个用法,高明哦, 赞一个 |
|