我在JavaScript中具有功能:
function calc(num) {
if (num <= 22) {
return parseInt(num);
} else {
num += '';
var curr = 0;
for (var i = 0; i < num['length']; i++) {
curr += parseInt(num[i]);
};
return curr;
};
};
此函数计算新数字,例如:
如果我的数字大于22,则此函数返回新数字,该数字是其子位数的总和(例如28> 22 => return(2 + 8))。
此功能在Firefox中效果很好,但是在Internet Explorer中,数字大于22时出现“ NaN”错误,因此问题必须出在“ else”中。
怎么了?
最佳答案
您需要num.charAt(i)
,因为您无法在IE中使用String[offset]
访问字符串字符。
(s = "qwe"; alert(typeof s[1] === 'undefined')
是true
)
关于javascript - JavaScript parseInt IE Nan错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7892877/