0

你好我有下一个 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];
    }

}

我将重做它以更好地在“(”之前查找数据,但我不明白为什么 procName 变量在所有浏览器中的 IE9 中始终未定义,所有浏览器都运行良好。

4

2 回答 2

1

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

于 2012-05-18T14:11:41.727 回答
1

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

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

console.log(procName)​; //name
于 2012-05-18T12:47:56.417 回答