function ClassA() { //父类
this.a = 'a';
this.b = '6789';
var c = "0987654";
d = "0987654";
// this.c = new ClassC();
}
function ClassB() { //子类
//this.b = 'b';
this.a = 'aaa';
}
ClassB.prototype=new ClassA();
var objB1=new ClassB();
var objB2=new ClassB();
var objB3=new ClassA();
alert(objB2.b);
alert('ClassA.b = ' + objB3.b);
alert('ClassA.c = ' + objB3.c);
alert('ClassA.d = ' + objB3.d);
问题:为什么ClassA类中的成员,要加上this后才能被ClassB类的实例访问到???
为什么new一个实例ClassA.c和ClassA.d在实例中也访问不到???
解决方案 »
- 问一个简单的js 问题 关于从一行里获取a链接
- 如何实现做一些代码发到网站上后,无需修改原网站内容,即可实现把所有网页上某个词变成链接文字
- 大家帮我看看这个脚本
- parseFloat(20)-parseFloat(20.6)=0.600000000000014怎么回事?
- 帮忙:javascript脚本不想公开~~,有没有办法
- 如何刷新"爷窗口"
- 如何实现一个200*200大小的页面(窗口)在屏幕的右下角慢慢移动上来?
- javascript调用vb函数的问题,其中有个参数为二位数组
- 如何获得弹出框的返回值?
- 下拉列表与输入文本框联动问题,单选按钮与行或列联动问题,单选按钮与下拉列表框连动问题(在线等待)(高分求代码,能实现者给300分)
- 正则匹配。
- jquery ajax问题
ClassB类的实例访问到和this有什么关系啊。。用this 只是指classa ....你也可以不用this啊。。
ClassB.prototype=new ClassA();
建议楼主去看看继承。。
问题二:
建议楼主看下变量的作用域更加详细的解释等楼下。。
但 public , private还是可以的你可以把 this开头的变量定义当成是public(所以在了类中可见),而 var 定义的局部变量当成private的(在子类中不可见)。但不能不加var ,不然成全局变量了(就像你的变量d,在任何地方都可见)
这上边有各种this的说法和用法,慢慢了解吧。