不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
如何在Javascript构造函数的私有方法中访问其属性和公有方法
编辑:dnawo 日期:2008-04-02
复制内容到剪贴板
程序代码

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
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.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);
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 | 引用: 0 | 查看次数: 5645
发表评论
请登录后再发表评论!