我在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/

10-16 13:01