2012-05-18 2 views
0

안녕하세요이 내가 "("이전 데이터를 찾기 위해 더 나은 방법으로 다시 것입니다,하지만 난 이유 wounder자바 스크립트 변수는 IE9에 정의되어 있지 않습니다하지

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]; 
    } 

} 

다음 JS 코드 (내 자신없는이 코드) procName 변수는 항상 잘 작동하는 모든 브라우저에서 IE9에서 정의되지

+1

_actual_ 오류를 표시하십시오. – Alnitak

+0

코드가 정상적으로 보입니다. – Joseph

+0

IE9 개발자 콘솔에서 나를 위해 작동 – Eric

답변

1

나는 막연한 recollectio이 적어도 IE의 일부 버전은 문자열 문자에 액세스하기위한 색인 생성을 지원하지 않습니다. 대신 charAt를 사용해보십시오. 또는 더 나은 알고리즘. 거의 확실하게 당신의 정의되지 않은 것을 일으키는 f [x]입니다.

1

문자열을 얻을 수있는 더 좋은 방법을 (this 전에 :.

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

console.log(procName)​; //name 
+0

감사합니다. 좋습니다. 그러나 질문은 왜 procName이에 대해 정의되지 않았는지에 관한 것이 었습니다. –

+0

@cleric 나는 당신의 코드를 테스트했고 실제로 실행되었다. – Joseph

+0

예. IE9에서는 작동하지 않습니다. –

관련 문제