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
。为什么呢?
答案 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;}
}
的值。