自己会接触到很多JavaScript了..放到新的归类里~
如题
在一个类中某个方法调用setInterval,回调类中另一个方法时出现的问题
这里参考了前辈的解决方式:
/**
*开始闪烁
*关于回调作用域的帖子:http://www.cnitblog.com/CoffeeCat/archive/2008/03/07/35095.html
**/
FlashTimer.prototype.startFlash = function(){
if (!this.customLayer){alert("customLayer为空");return;}
this.markers = this.customLayer.markers;
this.lines = this.customLayer.lines;
this.polygons = this.customLayer.polygons;
var _this = this; //当使用Windows.seInterval方法时,回调的函数会被作为一个window下的成员, 会提示不存在这样的方法
var callFlashing = function (){_this.flashing();} //这里通过调用这个方法
this.timerID = window.setInterval(callFlashing, this.period);
}
/**闪中。。*/
FlashTimer.prototype.flashing = function(){
//alert(this + " , " + this.markers);
if (this.isVisible){ //已经显示
this.hideAllObject();
this.isVisible = false;
}else{ //已经不显示了
this.showAllObject();
this.isVisible = true;
}
}
在没有改进代码前会报调用对象方法中的属性为空,可以试着在被回调方法中alert(this)
由此this的作用域发生了改变.
如上,如果单纯的使用flashing方法, 在flashing方法中的this将变成Windows Objects对象,便无法对类中的方法进行访问了.
小记录了一下..
分享到:
相关推荐
timercpp:为C 开发提供类似于Javascript中的setTimeout和setInterval功能
Javascript的setTimeOut和setInterval函数应用非常广泛,它们都用来处理延时和定时任务,比如打开网页一段时间后弹出一个登录框,页面每隔一段时间发送异步请求获取最新数据等等。但它们的应用是有区别的。 ...
NULL 博文链接:https://rainbow702.iteye.com/blog/1668935
JavaScript中setTimeout和setInterval函数的传参及调用_.docx
注:调用过程中,可以使用clearTimeout(id_of_settimeout)终止 参数 描述 code 必需,要调用的函数后要执行的 JavaScript 代码串。 millisec 必需,在执行代码前需等待的毫秒数。 setTimeinterval ...
javascript中的setInterval的函数主要是在制作动画或其他间隔性渲染(操作)效果时,对操作方法按照一定时间间隔进行调用的函数。 setInterval的表达式格式主要有: setInterval(fnname,time,par1,par2,……..parn);...
js 代码中执行循环事件时,经常会用到 setInterval 和 setTimeout 这两个方法,关于这两个方法的细节这里不详细讨论了,简要分享下在需要停止循环事件的时候该如何操作。 (1)setInterval 方法可按照指定的周期(以...
使用SetInterval和设定延时函数setTimeout 很类似。setTimeout 运用在延迟一段时间,再进行某项操作。
Javascript定时器(二)——setTimeout与setInterval 在 http://www.cnblogs.com/strick/p/3983904.html 有说明
主要介绍了JavaScript中从setTimeout与setInterval到AJAX异步,非常不错,具有参考借鉴价值,需要的朋友可以参考下
主要帮助大家学习理解javascript定时器中的setTimeout与setInterval,从实例出发进行深入探讨,感兴趣的小伙伴们可以参考一下
主要介绍了JavaScript中setTimeout和setInterval函数的传参及调用,着两个函数可以把要执行的代码在设定的一个时间点插入js引擎维护的一个代码队列中,需要的朋友可以参考下
setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象。可以使用本动作更新来自数据库的变量或更新时间显示。 setInterval动作的语法格式如下:setInterval(function,interval[,arg1,arg2,...
它们都用来处理延时和定时任务,比如打开网页一段时间后弹出一个登录框,页面每隔一段时间发送异步请求获取最新数据等,本文文章通过代码示例给大家介绍javascript中SetInterval与setTimeout的定时器用法
在Javascript里,setTimeout和setInterval接收第一个参数是一个字符串或者一个函数,当在一个对象里面用setTimeout延时调用该对象的方法时 代码如下: function obj() { this.fn = function() { alert(...
代码如下: var num = 0; var max = 10; function incrementNumber() { num++; //if the max has not been reached, set ... 如果用setInterval 可能出现 下次调用会在前一次调用前调用 ( True intervals are rarely
JS中的setTimeout和setInterval的区别JS中的setTimeout和setInterval的区别JS中的setTimeout和setInterval的区别