이 자바 스크립트 코드를 작성했지만 항상 끝납니다 ** undefined ** mycode? 나는 무엇을 잘못 했는가/어떻게하면 이것을 막을 수 있습니까? 크롬 자바 스크립트 콘솔을 통해 코드를 실행하고 있습니다. 여기 내 코드가 항상 정의되지 않은 상태로 끝나는 이유는 무엇입니까?
사전
1
A
답변
2
변경
문제가for (var i = stringLength-1; i >= 0; i--){
에
for (var i = stringLength; i >= 0; i--){
에서 루프, 배열의 모든 답변을
//Reverse a string
//-------------------------//
//Input a string
var string = prompt("Please enter string");
//console.log(string);
//Find length of string
var stringLength = string.length;
//console.log(stringLength);
//Creating an empty string for outputting answer
var reversedString = "";
//Start from length of the string and work backwards, inputting letter 1 at a time.
for (var i = stringLength; i >= 0; i--){
reversedString += string[i];
//console.log(string[i]);
}
//Outputting the reversed string;
alert(reversedString);
덕분에 내 코드입니다 jav의 인덱스 ascript는 0 기준입니다.
프롬프트에 입력 된 문자열이 "abc"이고 문자열의 길이가 3이라고 가정합니다. 루프에서이 문자열은 정의되지 않은 string[3]
으로 액세스합니다. 따라서 오류. 여기
0
당신은 문자열을하지 말아야 [내가] 대신하면 String.charAt (i)를 할; 또한 stringLength를 stringLength - 1로 변경하십시오. 그러면 문제가 해결 될 것입니다. 다른 브라우저에서 작동하도록하려면 charAt 표기법을 사용하십시오. Javascript 배열은 0이 아닌 1에서 시작하므로 마지막 요소를 가져 오는 길이 - 1을 수행합니다. 예를 들면 다음과 같습니다.10 개 요소 배열 인덱스의 경우 0-9입니다. 10은 배열의 경계 밖에 있습니다.
for (var i = (stringLength - 1); i >= 0; i--){
reversedString += string.charAt(i);
정답입니다.
0
문자열 추가 [i]는이 코드가 경고하기 전에 수행하는 마지막 작업이므로 마지막 문자열 [배열] (배열의 첫 번째 요소로 가정)은 정의되지 않은 값을 갖습니다.
for (var i = stringLength; i >= 0; i--){
reversedString += string[i];
//console.log(string[i]);
}
나는 이것이 왜 내 머리 위에 모르겠지만, 나는 그것이 규칙에 충실
항상 좋은 생각이라고 알고 있으며, 루프에 대한 하나입니다
:
for(var i = 0; i < [length variable];i++) {
...
}
0
오른쪽 코드는 정의 란 무엇
for (var i = stringLength-1; i >= 0; i--){
reversedString += string[i];
console.log(string[i]);
}
관련 문제
- 1. C에서 코드가 정의되지 않은 이유는 무엇입니까
- 2. 내 코드가 정의되지 않은 동작입니까
- 3. 내 플래시 바가 정의되지 않은 이유는 무엇입니까?
- 4. 정의되지 않은 이유는 무엇입니까?
- 5. 내 코드가 스레드로부터 안전하지 않은 이유는 무엇입니까?
- 6. 내 HTTP_USER_AGENT가 항상 같지 않은 이유는 무엇입니까?
- 7. CanvasRenderingContext2D가 내 IE9에서 정의되지 않은 이유는 무엇입니까?
- 8. 내 비디오가 정의되지 않은 이유는 무엇입니까?
- 9. 내 새 개체가 정의되지 않은 이유는 무엇입니까?
- 10. 내 ajaxurl 변수가 정의되지 않은 이유는 무엇입니까?
- 11. 내 문자열에서이 문자열이 정의되지 않은 이유는 무엇입니까?
- 12. 내 함수가 정의되지 않은 이유는 무엇입니까?
- 13. 변수는 $ .get을 사용하면 정의되지 않은 상태로 끝납니다.
- 14. html2canvas가 정의되지 않은 이유는 무엇입니까?
- 15. 출력이 정의되지 않은 이유는 무엇입니까?
- 16. y가 정의되지 않은 이유는 무엇입니까?
- 17. 코드가 실행될 때 정의되지 않은 변수가 나타나는 이유는 무엇입니까?
- 18. 체크 박스 값이 항상 정의되지 않은 이유는 무엇입니까?
- 19. 정의되지 않은 참조는이 코드가
- 20. io가 정의되지 않은 이유는 무엇입니까?
- 21. 이 코드가 세 개의 정의되지 않은 값을 경고하는 이유는 무엇입니까?
- 22. req.busboy가 정의되지 않은 이유는 무엇입니까?
- 23. parentNode가 정의되지 않은 이유는 무엇입니까?
- 24. 내 프로그램이 일찍 끝나는 이유는 무엇입니까?
- 25. chrome.runtime이 정의되지 않은 이유는 무엇입니까?
- 26. 문자열이 정의되지 않은 이유는 무엇입니까?
- 27. 메쏘드가 정의되지 않은 이유는 무엇입니까?
- 28. 길이가 정의되지 않은 이유는 무엇입니까?
- 29. $ 범위가 정의되지 않은 이유는 무엇입니까?
- 30. SRWLock이 정의되지 않은 이유는 무엇입니까?
? 코드 자체는 "정의되지"않을 수 있습니다. –
내가 hello를 입력하면 출력은 정의되지 않습니다. 그래서 코드는 정상적으로 작동하지만 정의되지 않은 단어는 자동으로 앞에 놓입니다. – Frenchiejnr
오, 콘솔의 결과가 아닌'alert()'에 표시되는 문자열에 대해 이야기하고 있습니다. –