1

我想问一下我们可以放多少“else if”子句有限制吗?有人告诉我,如果我们有太多的“else if”,最终会导致堆栈溢出。例如:

    if (1 > 1){}
    else if (1 > 2){}
    else if (1 > 3 ){}
      //and so on
    else{}

但是,我找不到关于这个主题的任何证据,而且谷歌搜索也没有给我想要的答案。下面的问题具有相同的标题,但与我想问的主题没有任何关系。先谢谢了。

Javascript:“else if”语句是否有限制?

4

1 回答 1

3

在任何合理的语言中,限制应该与一般代码大小的限制相同,换句话说,大到你几乎永远无法达到它。

但是,它绝对不会导致堆栈溢出,因为 anif不会添加到堆栈中。一个函数调用将另一个帧添加到堆栈中,一个if是分支指令。

于 2013-09-30T09:30:46.523 回答