我在js中定义了一个函数:
然后调用的时候
Field.οnblur=closeCodeList();
运行时提示:“错误:尚未实现”
我把括号去掉后又能正常调用,为什么这里调用函数不能用括号呢?
发帖后,得到的回答如下:
一:fun() 是 函数调用的意思, 得到的是 fun()调用后的返回值
函数的定义是 function fun(){..} 或者 var fun = fnction(){}
Field.onblur期待的是函数句柄,即 fun,而不是调用fun()后的返回值(除非返回的也是函数句柄)
二:onblur是一个事件,写成这样你就明白为什么了
总结:
onblur是一个事件,如果用fun()的话,相当于对这个事件赋值,这样显然是错误的。因此要用fun,给这个事件一个函数句柄