循环中冲不掉外部定义的变量

不管用each, 还是for, 即便是闭包, 也有这个作用于的问题

就是人们常常问的, 为什么总是留在最后一个值?

此处是另一种情况.

如果把obj定义在外面, 内部将它push或者赋值到数组中去, 永远都只能存入最后一个obj.

var items = data[0].result.value;
                    var list = $(".js-account-order-list");
                    var order = list.find(".order");
                    var arr = [];
                    $page.currentList = [];
                    console.log("[account-order] userTransactionsorders got items ::::", items);
                    $.each(items, function (index) {
                        //list
                        var obj = {};
                        obj.detail = [];
                        obj.time = items[index].TRANS_DATE;
                        obj.id = items[index].TRANS_ID;
                        obj.status = items[index].ORDER_STATUS_STRING;
                        obj.link = items[index].TRACKING_LINK;
                        obj.ship_no = items[index].TRACKING_NUMBER;
                        obj.carrier = items[index].CARRIER;
                        order.eq(index).attr("data-id", obj.id);
                        order.eq(index).find(".js-date").text(obj.time);
                        order.eq(index).find(".js-order_no").text(obj.id);
                        order.eq(index).find(".status").text(obj.status);
                        order.eq(index).find(".activity a").attr("href", obj.link);
                        (obj.detail).push($page.getDetail(obj.id, index));
                        console.log("[account-order] obj for save::::", obj);
                        arr[index] = obj;
                        console.log("[account-order] arr saved::::", arr);
                    });
原文地址:https://www.cnblogs.com/haimingpro/p/6769685.html