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),还是先二进制