我如何在以下代码中获取局部变量'head'的值?

时间:2016-06-23 12:46:02

标签: jquery

function call(){

  var th;
  var head;
  $('#coToolTable').on('click', '.edit',function () {
    th = $('#coToolTable th').eq($(this).index());

    head=th.text();
    alert("head="+head);

  });

  var values1 = $('table tr td :checkbox:checked').map(function () {
    return $(this).closest('tr').find('td:first').text()

  }).get();

  alert("values="+values1+"head="+head);
  check(values1,head);
}

在此功能中,当我运行它时,alert("head="+head);会提供表格标题的输出,但在下一个提示框alert("values="+values1+"head="+head);中,它会提供head=undefined。为什么呢?

1 个答案:

答案 0 :(得分:0)

当您点击head时,您不会在#coToolTable之前为call()分配值。执行head后,您的第二个警报会立即运行,这将在您的点击事件处理程序运行之前运行,并为head分配值。因此,当第二个警报运行时,您会在声明undefined时看到class a{ int *var = new int; public: //constructor and destructor a(int a):var(new int(5)){} ~a() {delete var;} int get() const {return *var} //overload of + oporator a operator+(const a & rhs){return a(*var+rhs.get() //overload of ++ operator a a::operator++ (int) } a a::operator+ (const a & rhs) { return a(*itsRadius + rhs.get()); } a a::operator++ (int){ a temp(*this); *itsRadius= *itsRadius+1; return temp;} } 的值。