IE9中未定义JavaScript变量

时间:2012-05-18 12:42:00

标签: javascript jquery

你好我有下一个JS代码(这段代码不是我自己的)

 function somename(f) 
    var procName = "";
    var procParams = new Array();
    var parseEl = "";
    var parseEls = new Array();
    var parseInd = 0;
    var procParamsInd = 0;
    var IsValRead = false;
    for (i = 0; i < f.length; i++) {
        if (f[i] == "(")
            break;
        else
            procName = procName + f[i];
    }

}

我会重做它以更好的方式在“(”之前找到数据,但我更有道理为什么在IE9中所有浏览器中的procName变量总是未定义的,并且运行良好。

2 个答案:

答案 0 :(得分:1)

(之前获取子字符串的更好方法是this

var f = "name(2,4,5)",
    procName = f.slice(0, f.indexOf('(')); //slice from start until before "("

console.log(procName)​; //name

答案 1 :(得分:1)

我有一个模糊的回忆,至少某些版本的IE不支持索引来访问字符串字符。尝试使用charAt;或者更好的算法。几乎可以肯定f [x]导致你的未定义。