var a=function(){
var self=this;
this.b=function(){
alert(this==self)//弹出true
this.c()//出错 为什么?????
}
this.b();
this.c=function(){
alert('cccc')
}
}
new a()
var self=this;
this.b=function(){
alert(this==self)//弹出true
this.c()//出错 为什么?????
}
this.b();
this.c=function(){
alert('cccc')
}
}
new a()
解决方案 »
- [小问题,求写法,要效率,你懂的·~]
- 新手请教:如何使用VS2005,跟踪查找IE崩溃的原因
- 如何让提交表单数据的页面在处理页面出错后返回还能保留刚才用户填写的数据?
- 怎么实现随滚动条下移,网页右侧的图片也随着向下移动的浮动广告?请大家帮忙!
- js中如何将一个页面设置的activex传递给另一个页面
- ★★★★求一个javascript绘高质量圆形的函数
- 诚聘版主
- 用什么工具可以编译JAVASCRIPT
- javascript中有类似Timer.wait()的代码吗?
- js中浮点数 0.1+0.7=0.7999999999……
- 急!!!明天的作业!!!enter key与submit提交问题
- 控制 Windows Media Player 插件?
var a=function(){
var self=this;
this.b=function(){
alert(this==self)//弹出true
this.c()//出错 为什么????? 因为this.c == undefined
}
this.b(); <---- 这里在this.c=func...之前执行的,此时this.c == undefined
this.c=function(){
alert('cccc')
}
}
new a()
把this.b() 放到 this.c=func... 的后面就可以了
var a=function(){
var self=this;
this.b=function(){
alert(this==self)//弹出true
this.loadingEditorCheck = function(){
if (self.loadingComplete == true){
clearInterval(this.loadingOk);
self.c();
}
else {
this.loadingOk = setInterval(this.loadingEditorCheck, 1000);
}
}
}
this.b();
this.c=function(){
alert('cccc')
}
setTimeout("alert(this.loadingComplete=true)",3000)
}
new a()
var a=function(){
var self=this;
this.b=function(){
alert(this==self)//弹出true
this.loadingEditorCheck = function(){ //这个this是self
if (self.loadingComplete == true){
clearInterval(this.loadingOk);
self.c();
}
else {
this.loadingOk = setInterval(this.loadingEditorCheck, 1000); //setInterval里的this应该是window的
}
}
}
this.b();
this.c=function(){
alert('cccc')
}
setTimeout("alert(this.loadingComplete=true)",3000)
}
new a()
setTimeout("alert(this.loadingComplete=true)",3000) //<---这里的this是window对象//把 this 改成 a 就可以了
<script>
var a=function(){
var self=this;
(function(){
//alert(this==self)//弹出true
var loadingOk = setInterval(function(){
if (self.loadingComplete == true){
clearInterval(loadingOk);
loadingOk = null;
self.c();
}
}, 1000);
})()
this.c=function(){
alert('cccc')
}
setTimeout(function(){self.loadingComplete=true},3000)
}
new a()</script>