-1

我有一个名为 numObj 的对象,我创建了一个包含 numObj 对象数组的 numArrary。当我尝试使用 foreach 调用它的内部成员时,结果发现它无法访问。为什么?

   var numObj = function (num) {
        return {
            num:num
        }
    }
    var numArray = [];
    for (var i = 0; i < 3; i++) {
        numArray[i] = numObj(i);
    }
    numArray.forEach(
        function () {
            alert(this.num); //undefined
        }
    );

此外,当我获得更深层次的内在对象时,我在 VS 中失去了智能。任何想法?

4

2 回答 2

4

该条目作为第一个参数传递给forEach迭代器,因此:

numArray.forEach(
    function (obj) {    // Declare the argument
        alert(obj.num); // Use it
    }
);

forEachthis用于条目(例如,jQuery 的类似函数)。

于 2013-04-19T07:19:19.547 回答
0

尝试这个:

  var numArray = [{1:1},{2:2}];


   numArray.forEach(function(value,index){
         console.log(value,index,this);//{1:1},0 window
   });

this- 指窗户

小提琴

于 2013-04-19T07:28:44.387 回答