我想是因为13行setTimeout,它的参数可不是object的方法啊,也许应该写成
setTimeout("this.setTask()",2000),我没有测试过,你看着办吧:)

解决方案 »

  1.   

    我想是因为13行setTimeout,它的参数可不是object的方法啊,也许应该写成
    setTimeout("this.setTask()",2000),我没有测试过,你看着办吧:)
      

  2.   

    我想是因为13行setTimeout,它的参数可不是object的方法啊,也许应该写成
    setTimeout("this.setTask()",2000),我没有测试过,你看着办吧:)
      

  3.   

    setTimeout调用的时候已经没有对mytask对象的引用了,js没有static的方法,用一个全局变量保存对mytask的引用吧。
    Object.prototype.setTask = setTask;
    Object.prototype.init= init;
    show();
    var mytask;
    function show()
    {
    mytask = new Object();
    mytask.init();
    mytask.setTask();
    }
    function setTask(obj)
    {
    alert(this.flag);
    if(this.flag)setTimeout("mytask.setTask()", 2000);
    }
    function init()
    {
    this.flag = true;
    }