欢迎光临

木子屋

标题: 如何在Javascript构造函数的私有方法中访问其属性和公有方法

作者: dnawo

日期: 2008-04-02 00:45 AM

分类: 脚本语言

内容: 复制内容到剪贴板 程序代码function Class1(){
this.i = 1;
this.aa = function(){
this.i ++;
}
this.bb = function(){
this.aa();
}
this.cc = function(){
this.bb();
}
}
var o = new Class1();
o.cc();
document.write(o.i);//return 2
从例子中可以看到构造函数的公有方法访问其属性和其他公有方法是可以的，那么在私有方法中访问公有方法和属性呢？
复制内容到剪贴板 程序代码function Class1(){
this.i = 1;
this.aa = function(){
this.i ++;
}
var bb = function(){
this.aa();
}
this.cc = function(){
bb();
}
}
var o = new Class1();
o.cc();
document.write(o.i);
脚本出错！提示"对象不支持些属性或方法"，错误在"this.aa();"一句，估计是bb被认为是一个新的构造函数，那"this.aa();"中的this已经不再是Class1，因而才提示没有aa方法，那在构造函数的私有方法中如何访问其属性和公有方法呢？下边是无忧脚本winter版主的解答：
复制内容到剪贴板 程序代码function Class1(){
var me=this;
this.i = 1;
this.aa = function(){
this.i ++;
}
var bb = function(){
me.aa();
}
this.cc = function(){
bb();
}
}
var o = new Class1();
o.cc();
document.write(o.i);

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.914 ms

返回

标题: 如何在Javascript构造函数的私有方法中访问其属性和公有方法

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.914 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.977 ms

返回