js-- 一些题目

时间:2022-10-30 19:23:57

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