为什么我在控制台中获得'未定义'?

这个问题在这里已经有了答案:

  • 对于JavaScript中的每个数组? 23个答案

  • JavaScript中的for…in循环通过对象的键循环,而不是其值。 你可以使用Array.prototype.forEach ,给予支持; $.each可以作为后备,因为你使用的是jQuery。

    var textArray = ['#text1', '#text2', '#text3', '#text4',
                     '#text5', '#text6', '#text7', '#text8'];
    
    $('#capture').click(function() {
        textArray.forEach(function (x) {
            console.log($(x).offset());
        });
    });
    

    因为i是数组中项目的索引,所以您需要使用textArray[i]来访问当前项目(如果您记录了i的值,它将显示0,1,2 ... 7)。

    for (var i in textArray) {
      console.log($(textArray[i]).offset());
    }
    

    您可能想要像这样索引数组:

    var textArray = ['#text1', '#text2', '#text3', '#text4',
    '#text5', '#text6', '#text7', '#text8']
    
    $('#capture').click(function() {
    for (var i in textArray) {
      console.log($(textArray[i]).offset());
    }
    });
    
    链接地址: http://www.djcxy.com/p/12061.html

    上一篇: Why am I getting 'undefined' in console?

    下一篇: Loop Over Array in Javascript