RangeError:超出最大调用堆栈大小

时间:2017-08-28 23:01:33

标签: javascript jquery html css kendo-ui

  • 在我的代码库中我收到此错误RangeError:此行超出了最大调用堆栈大小.playerAdd();
  • 我尝试通过给出return true并放入if条件来修复它。
  • 我甚至用过方法
  • 没什么用。
  • 你能告诉我如何解决它。
  • 如果我在这一行保留断点那个.playerAdd();它没有走出这条线。
  • 你能告诉我如何解决它。
  • 提供我的代码

                     添新              

    $("#swimming").unbind().on('click', function() {
          if(true)
          {
            that.playerAdd();
          }
          return true;
        });
    
      playerAdd(): any {
        if(true) {
          $('#swimming').trigger('click');
        }
        return true;
      }
    
    
      http://jsfiddle.net/ejv7k9sn/2/
    

1 个答案:

答案 0 :(得分:1)

你得到Maximum call stack size exceeded,因为你的函数是一个无限循环。 if(true)将永远为真,因此您的第一个处理程序将始终调用that.playerAdd();。同样,if(true)将始终保持为真,因此始终会调用$('#swimming').trigger('click');。这将发生无限次,并且最大调用堆栈大小将耗尽。您必须将功能更改为不会每次都互相触发。

您更改这些内容对于您希望程序执行的操作具有确定性,因为截至目前,很难确定您的最终目标是什么。如果您发布更多代码,或者您希望这样做的详细信息,我们可能会提供更多帮助。