作者主页: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