我正在使用直接Web Remoting (DWR) JavaScript库文件,只在Safari(桌面和iPad)中得到一个错误

它说

超过最大调用堆栈大小。

这个错误到底是什么意思,它是否完全停止处理?

Safari浏览器也有任何修复(实际上是在iPad Safari上,它说

JS:执行超时

我认为这是相同的调用堆栈问题)


当前回答

我试图给一个变量赋值,一个没有声明的变量。

声明变量修正了我的错误。

其他回答

以下相同代码的调用如果减少1,在我的计算机上的Chrome 32中工作,例如17905 vs 17904。如果按原样运行,它们将产生错误“RangeError:最大调用堆栈大小超出”。这个限制似乎不是硬编码的,而是取决于您机器的硬件。如果作为函数调用,这种自我施加的限制似乎比作为方法调用要高,也就是说,当作为函数调用时,这个特定的代码使用更少的内存。

作为方法调用:

var ninja = {
    chirp: function(n) {
        return n > 1 ? ninja.chirp(n-1) + "-chirp" : "chirp";
    }
};

ninja.chirp(17905);

作为函数调用:

function chirp(n) {
    return n > 1 ? chirp( n - 1 ) + "-chirp" : "chirp";
}

chirp(20889);

在我的例子中,我基本上忘记了获取输入的值。

错误的

let name=document.getElementById('name');
param={"name":name}

正确的

let name=document.getElementById('name').value;
param={"name":name}

我使用React-Native 0.61.5以及(npm 6.9.0和节点10.16.1)

当我安装任何新的库在项目我得到了一个

(例如NPM install @react-navigation/native——save)

最大调用堆栈大小超过错误

为此,我尽力了

Sudo NPM缓存清理-force

(注:-以下命令通常需要1 ~ 2分钟 取决于你的NPM缓存大小)

我在express/nodejs应用程序中得到了这个错误,当MongoDB数据库的模式和我们创建的模型不匹配时。

我有这个错误,因为我有两个同名的JS函数