js报错"Uncaught RangeError: Maximum call stack size exceeded"
html代码:
<div class="aaa">
<div class="bbb">我是bbb</div>
<div class="other">我是other</div>
</div>
js代码(已经引入jquery)
$(".aaa").click(function(){
$(".bbb").click();
})
操作就是想实现 点击aaa 时触发 点击bbb,但是报错误 "Uncaught RangeError: Maximum call stack size exceeded"
分析: 错误直译过来就是“栈溢出”,出现这个错误的原因是因为你进行了递归运算,但是忘记添加判断条件,导致递归无线循环下去。
aaa 中包含 bbb,当你点击 aaa 时,触发了 点击bbb 操作。但是 点击bbb 也是在 点击aaa,导致一直无限循环下去。类似于如下递归操作:
(function a() {
a();
})();