JavaScript与ajax的作用域问题

var sort =0;

function createHidden(){

  var htm = "<input type='hidden' id= 'h_"+sort+"'/>";

  $("#id").append(htm);

  $.get("xxx.aspx",function(data){

    //1.回调的data=1234

    $("#h_"+sort).val(data);

    alert( $("#h_"+sort).val());//输入understand

  });

  sort++;

}

解释:

  因为在走异步的时候的sort 的值已经变啦 当走到异步的时候,程序还需往下走,所以先给sort++;到最后$("#h_"+sort).val() 的时候其实是$("#h_1").val();因为还没系统找不到此id所以理所当然的就是understand啦

原文地址:https://www.cnblogs.com/guozhe/p/2363019.html