for 循环的 闭包问题

$scope.addCodeRecord = function () {

            var length = $scope.createCodeData.endSerialNo - $scope.createCodeData.startSerialNo;

              $scope.listArr = [];

              for(var i =0;i<length;i++){

                  $scope.createCodeData.startSerialNo++;

                  $scope.listArr[i] = (function(num){                  

                     $scope.createCodeData.SerialNo = num;

                      // console.log($scope.createCodeData)

                      return $scope.createCodeData;   // 为什么$scope.listArr数组里所有的的SerialNo还是最后的值                

                  })($scope.createCodeData.startSerialNo);

              }

这段代码是为了给一个对象增加第一个递增的属性,我使用了闭包,但是for循环之后还只能拿到最后的值?为何



暮色呼如
浏览 532回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript