js里最大的形参个数

完全是个人无聊时弄着玩的,理解错的话请各位大神指点

 

 

利用apply来测试,因为apply()改变this指向并执行,第二个参数是一个数组,通过数组传到方法里的形参上,这样就不用在方法上编写多个形参。

把循环生成的数组传入方法中,测试 谷歌浏览器   传300000个实参:

js里最大的形参个数_第1张图片

 

报错:堆栈溢出,但数组确实有三十万,说明报错不是数组报的错

 

经过对数组个数的调整

js里最大的形参个数_第2张图片

 

谷歌浏览器测试最大形参个数为250822,但是这数值好像会变的,有时可以传多几个,有时会少传几个,大概250000左右吧

 

在IE  Edge上做测试:

js里最大的形参个数_第3张图片

 

 

 

发现在谷歌浏览器上的250000在IE上报错了,

经过不断的修改个数

js里最大的形参个数_第4张图片

 

测试IE Edge的形参个数为166180,和谷歌浏览器一样,形参传入的个数并不是保持不变的,大概十六万多点吧,这可以说明每个浏览器的个数是不同的

火狐你们测试吧,代码非常简短


js里最大的形参个数_第5张图片

 

然后我想是不是我形参就不能放那么大的数组-------所以再做个测试:

 

js里最大的形参个数_第6张图片

js里最大的形参个数_第7张图片

 

传一个500000长度的数组,对应方法的第一个形式接收,发现能正常运行,以此来证明之前的测试是正确的

 

 

 

 

你可能感兴趣的:(javascript,javascript,测试,浏览器,前端开发)