js-- 一些题目

1.
~~3.14
~~
3.14
=
-((~3.14)+1)
=
-(-(3.14+1)+1)
=
-(-(3+1)+1)
=
-(-4+1)
=-(-3)
=
3

按位非(NOT)(~)操作数的负值减1。

2.
var foo = 7;

alert(foo>>1);  

这个是  Math.floor(foo/2)  

同理   foo<<1  foo*2  (只有1相当于是乘除2吧)

左移<< 先转化为二进制,然后是移动到相应的位置。 1是移动的位数   

右移 >>

3.
var foo = {}; foo.bar = 'hello';
问题 foo.length 答案object 没有length

length是window的属性,默认为0

4.

foo|0

foo+.5|0
 按位或(OR)

按位或(OR),还是先二进制

 

 

posted @ 2013-09-02 17:56  星堡a  阅读(198)  评论(0编辑  收藏  举报