xmlhttprequest.onreadystatechange = myFunction;为什么不能写成 xmlhttprequest.onreadystatechange = myFunction();具体一点,谢谢
光阴似箭催人老,日月如移越少年。
Professeur, dites-moi s'il vous plaît,
Tutoriel vidéo sur le contrôle d'Excel avec PHP
Y a-t-il un enseignant qui a ce tutoriel Si oui, aidez-moi à l'envoyer ?
使用myFunction()那么函数就立即执行并且返回值了,明显不符合我们的目的。我们的目的是为onreadystatechange 事件注册一个处理函数,它在事件触发时执行。
1.加了括号的表示调用,它会被执行。函数执行后返回值(可能为undefined)。2.没有加括号的是函数的引用赋值,只是将一个函数当作变量赋值给xmlhttprequest.onreadystatechange,这时候函数没有被调用,也没有被执行,等待事件触发时再执行。
JavaScript中的回调都是要使用函数引用,看代码更容易理解:
var myFunc=function(){/code/}window.onload=myFunc;//等同于:window.onload=function(){/code/}
Professeur, dites-moi s'il vous plaît,
Tutoriel vidéo sur le contrôle d'Excel avec PHP
Y a-t-il un enseignant qui a ce tutoriel Si oui, aidez-moi à l'envoyer ?
使用myFunction()那么函数就立即执行并且返回值了,明显不符合我们的目的。我们的目的是为onreadystatechange 事件注册一个处理函数,它在事件触发时执行。
1.加了括号的表示调用,它会被执行。函数执行后返回值(可能为undefined)。
2.没有加括号的是函数的引用赋值,只是将一个函数当作变量赋值给xmlhttprequest.onreadystatechange,这时候函数没有被调用,也没有被执行,等待事件触发时再执行。
JavaScript中的回调都是要使用函数引用,看代码更容易理解: