1

このJavaScriptを実行しようとしています。次のようなエラーが発生し続けます。

ThisChar.toUpperCase() is not a function 

jsfiddle.netを使用してみましたが、このエラーを回避できないようです。これで何が起こっているのですか?

// CREATE ARRAY OF CHARACTERS
CharacterArray = ["1", "2", "3", "a", "b", "c", "D", "E", "F", "/", "+", ")"];

// TEST CHARACTERS 
function testCharacters() {
   // GET ARRAY LEN
   var CharacterArrayLen = CharacterArray.length;
   // LOOP THROUGH ARRAY
   for (i = 0; i < CharacterArrayLen; i++) {
       // PARSE SINGLE CHARACTER
       var ThisChar = CharacterArray.slice(i, i + 1);
       if (!isNaN(ThisChar * 1)) {
           alert(ThisChar + ' is numeric!');
       } else {
           if (ThisChar == ThisChar.toUpperCase()) {
               alert(ThisChar + ' is upper case true');
           } else if (ThisChar == ThisChar.toLowerCase()) {
               alert(ThisChar + " is lower case");
           } else {
               alert(ThisChar + " is unknown");
           }
       }
   }
}
testCharacters();​
4

1 に答える 1

6

.slice常に配列を返します。要素にアクセスするだけです:

var ThisChar = CharacterArray[i];

値にを掛ける必要はありません。*1渡された値はisNaN暗黙的に数値に変換されます。

!isNaN(ThisChar)
于 2012-06-20T20:25:06.723 に答える