ECMAScript之操作符重点小解

置顶文章:《纯CSS打造银色MacBook Air(完整版)》

上一篇:《ECMAScript之Number和String类型重点小解》

作者主页:myvin
博主QQ:851399101(点击QQ和博主发起临时会话)

写在前面

接着上一篇盗“书”笔记——JavaScript Notes(三)聊。

操作符

加号、字符串连接符

加号和字符串连接符都是+,在使用的过程中要注意它们的区别。

给出代码:

var num1=1,num2=20;
console.log('the sum of num2 and num2 is '+num1+num2);

打印的结果是:the sum of num2 and num2 is 120

因为'the sum of num2 and num2 is '是字符串,所以后面的+是连接符,不是加号,所以在打印的时候,是先把num1num2都先转换为字符串'1''20',so结果自然是the sum of num2 and num2 is 120

所以如果真想求和的话,可以把num1+num2用括号括起来,如下:

var num1=1,num2=20;
console.log('the sum of num2 and num2 is '+(num1+num2));

或者把num1+num2放到字符串前面,如下:

var num1=1,num2=20;
console.log(num1+num2+'the sum of num2 and num2 is ');

当然这样的话,后面的字符串就得改一改了:

var num1=1,num2=20;
console.log(num1+num2+' is the sum of num2 and num2');

当然,这都无伤大雅,只是让大家明白这个道理。

自加、自减

注意value++++value的区别,同理value----value

看一段代码:

var num1=2,num2=20;
var num3=--num1+num2;
var num4=num1--+num2;

直接给出结果:

num3=21,num4=22;

按位非的本质

先直观上看一下:

var num1=25;
var num2=~num1;

输出结果:

num2=-26;

再看一段代码:

var num1=25;
var num2=-num1-1;

输出结果:

num2=-26;

两个输出结果是相等的,由此我们暂时可以得到一个结论:

按位非的本质是操作数的负值减1。

当然理解也很简单,负值是正值按位取反加1,那么按位取反自然就是负值减1。不明白的自己在纸上划拉两下就出来了,不再赘述。

逗号操作符

逗号操作符可以用来负值,返回表达式的最后一项,如下:

var num=(1,2,3,4);
console.log(num);

打印结果是:4

对对象的操作

在将操作符应用到对象的时候,相应的操作符通常都会调用对象的valueOf()或(和,有时会两者一次调用)toString()方法,从而取得可以操作的值。


转载请记得说明作者和出处哦-.-
作者:myvin
原文出处:http://www.cnblogs.com/myvin/p/4756504.html

下一篇:《理解ECMAScript的几个关键语句》

置顶文章:《纯CSS打造银色MacBook Air(完整版)》

你可能感兴趣的:(ECMAScript之操作符重点小解)