0

私は JavaScript に比較的慣れていないので、次のような奇妙な for ループを見つけました。

for (c in "test message") {
}

通常、このようなものは foreach ループにあり、「c」要素は文字 (t、e、s、t など) をループする必要があります...これは整数をループします...?!

その動作を理解するためのドキュメントはありますか?

完全なサンプルは次のとおりです。

<!DOCTYPE html>
<html>
<body>
    <p>Click the button to loop through the 
        properties of an object named "person".</p>
    <button onclick="myFunction()">Try it</button>
    <p id="demo"></p>

    <script>
        function myFunction() {
            var x;
            var txt = "";
            var person = { fname: "John", lname: "Doe", age: 25 };
            var myString = "this is a test";

            for (x in myString) {
                txt = txt + x + ':' + myString[x] + '<br/>';
            }

            for (x in person) {
                txt = txt + x + ':' + person[x] + '<br/>';
            }
            document.getElementById("demo").innerHTML = txt;
        }
    </script>
</body>
</html>

出力:

0:t
1:h
2:i
3:s
4: 
5:i
6:s
7: 
8:a
9: 
10:t
11:e
12:s
13:t
fname:John
lname:Doe
age:25
4

2 に答える 2

0

JavaScript ではfor..in、次のように動作します。

for (var key in objectOrArray) {
    console.log(key, objectOrArray[key]);
}

したがって、文字列をループするときに、文字インデックス (0 ベース) であるキーを常に出力します。

次のように、文字列に対して同じ動作を使用することもできます。

console.log(str[5]); //the 6th character in the string "str"
于 2013-10-24T10:34:23.747 に答える