当前位置: 代码迷 >> Java Web开发 >> js 内存储器溢出?求大神解答
  详细解决方案

js 内存储器溢出?求大神解答

热度:823   发布时间:2016-04-17 00:49:57.0
js 内存溢出?求大神解答
JScript code
var temp1;var temp2;var numI;var numJ;for(var i=0;i<nums.length;i++){  for(var j=i+1;j<nums.length;j++){    numI = Number(nums[i]);//因为从cookie里取出的数字js是当字符串处理的 ,所以比较大小前先转成数字类型    numJ = Number(nums[j]);    if(numI<=numJ){    temp1 = numI;    numI = numJ;    numJ = temp1;    temp2 = ids[i];    ids[i] = ids[j];    ids[j] = temp2;    }}

我在myeclipse下面保存上面一段代码(冒泡排序)的时候就报错,说内存溢出,原因我找出来了,就是在调用js的Number函数的时候,这个地方的问题。如果我不调用Number函数就不报错。
问下大神们,这是为咩啊??

------解决方案--------------------
Number() 作为一个函数来调用,它将把自己的参数转换成一个原始的数值,并且返回这个值(如果转换失败,则返回 NaN)。 这东西不可能还内存溢出吧--

冒泡前面段可以理解,后面ids[i] ids[j] 这个干吗用的--
------解决方案--------------------
确认一下是否从cookie中取到值了
选 alert(nums[i]);

numI = Number(nums[i]);
可以改为numI = nums[i] *1 ;
js是自动类型转换的