javascript >>什么意思

<script type='text/javascript'>

/*圆形算法*/
function drawOval(left, top, radius)
{
var _html ='',a = radius>>1, b = radius>>1,wod = radius&1, hod = (radius&1)+1,cx = left+a, cy = top+b,x = 0, y = b,aa = (a*a)<<1, bb = (b*b)<<1,st = (aa>>1)*(1-(b<<1)) + bb,tt = (bb>>1) - aa*((b<<1)-1),ox = 0, oy = b,w, h,pxl, pxr, pxt, pxb, pxw;
while (y > 0)
{
if (st < 0)
{
st += bb*((x<<1)+3);
tt += (bb<<1)*(++x);
}
else if (tt < 0)
{
st += bb*((x<<1)+3) - (aa<<1)*(y-1);
tt += (bb<<1)*(++x) - aa*(((y--)<<1)-3);
w = x-ox;
h = oy-y;
if (w-1)
{
pxw = w+2;
h = 1;
}
else if (h-1)
{
pxw = 1;
h += 1;
}
else pxw = h = 1;
/*八对称点圆弧算法*/
_html += "<i style='background-color:#FF0000;position:absolute;overflow:hidden;left:"+((ox-pxw+w+wod)+cx)+"px;top:"+((-oy)+cy)+"px;width:"+pxw+"px;height;"+h+"px'></i><i style='background-color:#FF0000;position:absolute;overflow:hidden;left:"+((0-x+1)+cx)+"px;top:"+((-oy)+cy)+"px;width:"+pxw+"px;height;"+h+"px'></i><i style='background-color:#FF0000;position:absolute;overflow:hidden;left:"+((ox-pxw+w+wod)+cx)+"px;top:"+((-h+oy+hod)+cy)+"px;width:"+pxw+"px;height;"+h+"px'></i><i style='background-color:#FF0000;position:absolute;overflow:hidden;left:"+((0-x+1)+cx)+"px;top:"+((-h+oy+hod)+cy)+"px;width:"+pxw+"px;height;"+h+"px'></i>";
ox = x;
oy = y;
}
else
{
tt -= aa*((y<<1)-3);
st -= (aa<<1)*(--y);
}
}
return _html;
}

/*画圆*/
var html = drawOval(100,100,600);

document.write(html);
</script>

opp<<1是左操作符app的bit位向左移1位,相当于乘2。opp>>1是左操作符app的bit位向右移一位,相当于除2(取整符号不变)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-21
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
你所列出的应该是一个画圆的函数代码。
第2个回答  2009-12-21
其实不仅在javaScript中,在很多语言中<<这个符号是一个意思的!
<< 其形式是 var<<bit_num,从它的形式上就可以看出它的作用了,将操作数中 的所有位左移指定的位数,右边突出的补0,其实也就是乘2的bit_num次方;
>>带符号右移,将操作数所有位右移指定的位数,左边突出的位补符号
>>>无符号右移,将操作数的所有位右移指定的位数,左边突出的位填补0;
第3个回答  2009-12-21
画圆……
相似回答