变量在另一个块中也是可见的

时间:2014-07-22 01:19:29

标签: javascript jquery

我有这段代码:

function ready() {
  $("#my_form").on("submit", function (e) {
    for (var j in someItems) {
      var element = $(someItems[j]);
      $("<input>").attr({type: "hidden", name: element.attr("name"), value: element.val()}).appendTo($(this));
    }

    for (var i = 0; i < someItems2.length; i++) { 
      // "element" is visible here ??????
      $("<input>").attr({type: "hidden", name: element.attr("name"), value: element.val()}).appendTo($(this));
    }
  });
});

jQuery(document).ready(ready);
jQuery(document).on("page:load", ready);

为什么变量element在第二个循环中可见?

1 个答案:

答案 0 :(得分:0)

因为变量在JavaScript中没有block范围,但functional scope

请参阅this文章。