您的位置:首页 > Web前端 > JavaScript

javascript四则运算

2014-05-08 21:53 295 查看
首先,我们来看这个例子:
例1:
1
var i = 1;
2
var j = "1";
3
console.log(i+j);
这个打印的结果是多少呢?我们来看,i是数字,j是字符串,两个相加,就字符串拼接,1旁边拼个1,结果就是11。 再来,我们换一下:例2:
1
var i = 1;
2
var j = 1;
3
var m = "1";
4
console.log(i+j+m);
这个结果是不是也是按照上面的算法,字符串拼接,然后结果是111呢?这当然也是字符串拼接,但结果却不是111;i与j相加就是数字相加,不需要字符串来拼接了,所以结果是21。例3:
1
var i;
2
var j;
3
console.log(i-j);
如上例子,当i与j两个都是变量,并没有定义类型时,我们该按照什么来计算呢?还是它的结果是underfined?我们在webstrom上运行一下,看到打印的结果是NaN。为什么呢?这就是js的运算,它自动把转化为数据类型,但又没有定义值,所以输出NaN。 我们来看一个更容易理解的例子:
例4:
1
var i = true;
2
var j = false;
3
console.log(i-j);
这个按照变量自动转化成数据类型来计算,很容易得出结果是1。例5:
1
var i = null;
2
var j = NaN;
3
console.log(i-j);
这个例子就更容易看出它的运算规则,最后算出的结果是NaN。通过以上那些例子,我们总结出一些规则:1.若变量中有一个是字符串的,则进行字符串拼接,如例1;2.若是数字的,则进行四则运算,如例2;3.若没有字符串,也没有数字,如例3、例4、例5,就会自动转化为数据类型,然后在进行计算!

本文出自 “断崖逐梦” 博客,请务必保留此出处http://suxiaomeng.blog.51cto.com/4505377/1408608
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: