当前位置: 代码迷 >> 综合 >> 关于prototype和window.setInterval的使用
  详细解决方案

关于prototype和window.setInterval的使用

热度:18   发布时间:2024-01-22 05:23:47.0
prototype就是在给对象添加新的成员属性和方法。
如果觉得构造函数中的属性,或者方法定义的太少了,在某个阶段想添加自己的方法。那么可以使用prototype来实现

<script type="text/javascript">function fun(){this.a = 1;this.b = 2;}fun.prototype.fun2 = function(){var obj = this;//obj.c = 1;//alert(this.c);var c;var fun3 = function(){if(obj.a > 10){window.clearInterval(c);}alert(obj.a++);			}c = window.setInterval(fun3,200);alert('good luck');}function fun1(){var obj = new fun();obj.fun2();alert('other');}window.onload = fun1;
</script>
fun2这是一个函数,属于由var obj = new fun()创建的对象中的方法。 具体谈论下fun.prototype.fun2 中的实现。var obj 引用的是调用fun2的对象。在代码注释的地方,可以通过obj.c的形式创建一个新的对象的成员属性。
接下来需要注意的地方: c = window.setInterval(fun3,200); 只调用一次,执行后,执行alert("good luck"); 并判断是否经过了200毫秒。如果没有就返回到fun1()执行alert("other");,其实js一直在判断是否经过200毫秒,如果到了,就执行fun3(). 每隔200毫秒执行fun3()函数。这里用一个局部变量c记录了setInterval()的值,而clearInterval(c)的参数需要这个c值才能停止对fun3的间断性的调用。


  相关解决方案