为什么无法封装
<canvas id=cc width=800 height=800></canvas>
<script>
var can,ctx,ow,ex,ey;
var A,B,C,D;
var a,b,c,d;
po=function(x,y,z){
this.x=x;this.y=y;this.z=z;
this.ww=z*4;
}
po.prototype={
constructor:po
,x:0,y:0,z:0,ww:0,ox:0,oy:0
,doo:function(ow,ex,ey){
this.ox=(this.x-ex)*ow/this.ww+ex;
this.oy=(this.y-ey)*ow/this.ww+ey;
}
,rota:function(b,ra,rb,rc){
}
}
edraw=function(ctx){
can=document.getElementById("cc");
ctx=can.getContext("2d");
ow=can.width;
ex=can.width/2;
ey=can.height/2;
A=new po(400,400,110);
A.doo(ow,ex,ey);
B=new po(600,400,110);
B.doo(ow,ex,ey);
C=new po(600,600,110);
C.doo(ow,ex,ey);
D=new po(400,600,110);
D.doo(ow,ex,ey);
a=new po(400,400,310);
a.doo(ow,ex,ey);
b=new po(600,400,310);
b.doo(ow,ex,ey);
c=new po(600,600,310);
c.doo(ow,ex,ey);
d=new po(400,600,310);
d.doo(ow,ex,ey);
ctx.beginPath();
ctx.moveTo(A.ox,A.oy);
ctx.lineTo(B.ox,B.oy);
ctx.lineTo(C.ox,C.oy);
ctx.lineTo(D.ox,D.oy);
ctx.lineTo(A.ox,A.oy);
ctx.closePath()
ctx.stroke();
ctx.beginPath();
ctx.moveTo(a.ox,a.oy);
ctx.lineTo(b.ox,b.oy);
ctx.lineTo(c.ox,c.oy);
ctx.lineTo(d.ox,d.oy);
ctx.lineTo(a.ox,a.oy);
ctx.closePath()
ctx.stroke();
ctx.beginPath();
ctx.moveTo(A.ox,A.oy);
ctx.lineTo(a.ox,a.oy);
ctx.closePath()
ctx.stroke();
ctx.beginPath();
ctx.moveTo(B.ox,B.oy);
ctx.lineTo(b.ox,b.oy);
ctx.closePath()
ctx.stroke();
ctx.beginPath();
ctx.moveTo(C.ox,C.oy);
ctx.lineTo(c.ox,c.oy);
ctx.closePath()
ctx.stroke();
ctx.beginPath();
ctx.moveTo(D.ox,D.oy);
ctx.lineTo(d.ox,d.oy);
ctx.closePath()
ctx.stroke();
}edraw();
</script>