您的位置:首页 > 其它

ECMAScript之操作符重点小解

2015-08-24 09:06 260 查看

置顶文章:《纯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 '
是字符串,所以后面的
+
是连接符,不是加号,所以在打印的时候,是先把
num1
num2
都先转换为字符串
'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(完整版)》

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: