<script language="javascript">
function picture()
{
}
var pic=new picture();
pic.width=200;
pic.height=200;
function show()
{
alsert(pic.width + pic.height);
}
pic.show=show; //为什么这里还要给PIC赋给SHOW方法 如果不付为何就不能调用SHOW函数呢,直接调用不行吗
pic.show();
</script>
function picture()
{
}
var pic=new picture();
pic.width=200;
pic.height=200;
function show()
{
alsert(pic.width + pic.height);
}
pic.show=show; //为什么这里还要给PIC赋给SHOW方法 如果不付为何就不能调用SHOW函数呢,直接调用不行吗
pic.show();
</script>
则 show 无法直接访问 pic 实例的资源你使用 pic.width 那样子失去了使用对象的必要
应当这样:
<script type="text/javascript">
//<![CDATA[function picture()
{
var PrivateInsance = this;
}
var pic=new picture();
pic.width=200;
pic.height=200;
pic.show=show; //为什么这里还要给PIC赋给SHOW方法 如果不付为何就不能调用SHOW函数呢,直接调用不行吗
pic.show(); function show()
{
alert(this.width + this.height);
} //]]>
</script>
<script type="text/javascript">
function picture(width,height)
{
this.width = width;
this.height = height;
this.Show = function(){ alert(this.width+this.height); };
}
var pic = new picture(200,200);
pic.Show();
</script>为什么这里还要给PIC赋给SHOW方法 如果不付为何就不能调用SHOW函数呢,直接调用不行吗
直接调用是可以的 但是你那个Show的方法只对picture的一个实例pic有效 对于picture别的实例 那是不可能生效的