ajax回调函数的疑问
大家讲道理
大家讲道理 2016-11-07 14:03:19
0
2
1061

xmlhttprequest.onreadystatechange = myFunction;

为什么不能写成 xmlhttprequest.onreadystatechange = myFunction();

具体一点,谢谢

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

reply all(2)
静净精进

Teacher, please ask,

PHP control Excel video tutorial


Is there any teacher who has this tutorial? If so, please help me. Send it.


季伟

使用myFunction()那么函数就立即执行并且返回值了,明显不符合我们的目的。我们的目的是为onreadystatechange 事件注册一个处理函数,它在事件触发时执行。

1.加了括号的表示调用,它会被执行。函数执行后返回值(可能为undefined)。
2.没有加括号的是函数的引用赋值,只是将一个函数当作变量赋值给xmlhttprequest.onreadystatechange,这时候函数没有被调用,也没有被执行,等待事件触发时再执行。

JavaScript中的回调都是要使用函数引用,看代码更容易理解:

var myFunc=function(){/code/}window.onload=myFunc;//等同于:window.onload=function(){/code/}


Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template