无参数调用javascript函数
是否可以调用javascript函数而无需编写脚本?(). 在下面的代码中,来自一本书,有一行无参数调用javascript函数,javascript,Javascript,是否可以调用javascript函数而无需编写脚本?(). 在下面的代码中,来自一本书,有一行 http.onreadystatechange = useHttpResponse; 如果函数定义中没有参数,我们可以不带参数调用吗 function getServerText() { var myurl = 'ajax.php'; myRand = parseInt(Math.random() * 999999999999999); var mo
http.onreadystatechange = useHttpResponse;
如果函数定义中没有参数,我们可以不带参数调用吗
function getServerText() {
var myurl = 'ajax.php';
myRand = parseInt(Math.random() * 999999999999999);
var modurl = myurl + "?rand=" + myRand;
http.open("GET", modurl, true);
http.onreadystatechange = useHttpResponse;
http.send(null);
}
function useHttpResponse() {
if (http.readyState == 4) {
if(http.status == 200) {
var mytext = http.responseText;
document.getElementById('myPageElement')
.innerHTML = mytext;
}
} else {
document. getElementById('myPageElement')
.innerHTML = "";
}
}
分配事件处理程序时,您不想调用该函数,而是给它一个函数的引用,稍后将调用该函数
所以。。。否。
()
用于表示“调用此函数”,在本例中没有参数。在分配事件处理程序时,您不想调用该函数,而是给它一个对函数的引用,稍后将调用该函数
所以。。。否。
()
用于表示“调用此函数”,在本例中没有参数。在分配事件处理程序时,您不想调用该函数,而是给它一个对函数的引用,稍后将调用该函数
所以。。。否。
()
用于表示“调用此函数”,在本例中没有参数。在分配事件处理程序时,您不想调用该函数,而是给它一个对函数的引用,稍后将调用该函数
所以。。。否。
()
用于表示“调用此函数”,在本例中不带任何参数。唯一可以省略括号的情况是在使用new
关键字时。或者您使用了类似于setTimeout(func,0)
的黑客软件,但这在我看来并不合理。edit:正如Niet所说,在这种情况下,您没有调用函数,也不想调用它。您正在将一个函数指定为回调函数,以便其他代码稍后可以调用该函数。此处的http.onreadystatechange=useHttpResponse
是对useHttpResponse
函数的引用。部分原因是函数是JavaScript中的第一类对象。您可以将函数分配给变量:var square=function(x){return x*x;}
。您甚至可以有一个函数数组:var fs=[square,function(x){return x*x*x;}]
您可能会发现有趣的是,您可以使用如下语法调用函数:square.apply(null,[5])
。注意我是如何在square
函数上调用apply
函数的。唯一可以省略括号的情况是在使用new
关键字时。或者您使用了类似于setTimeout(func,0)
的黑客软件,但这在我看来并不合理。edit:正如Niet所说,在这种情况下,您没有调用函数,也不想调用它。您正在将一个函数指定为回调函数,以便其他代码稍后可以调用该函数。此处的http.onreadystatechange=useHttpResponse
是对useHttpResponse
函数的引用。部分原因是函数是JavaScript中的第一类对象。您可以将函数分配给变量:var square=function(x){return x*x;}
。您甚至可以有一个函数数组:var fs=[square,function(x){return x*x*x;}]
您可能会发现有趣的是,您可以使用如下语法调用函数:square.apply(null,[5])
。注意我是如何在square
函数上调用apply
函数的。唯一可以省略括号的情况是在使用new
关键字时。或者您使用了类似于setTimeout(func,0)
的黑客软件,但这在我看来并不合理。edit:正如Niet所说,在这种情况下,您没有调用函数,也不想调用它。您正在将一个函数指定为回调函数,以便其他代码稍后可以调用该函数。此处的http.onreadystatechange=useHttpResponse
是对useHttpResponse
函数的引用。部分原因是函数是JavaScript中的第一类对象。您可以将函数分配给变量:var square=function(x){return x*x;}
。您甚至可以有一个函数数组:var fs=[square,function(x){return x*x*x;}]
您可能会发现有趣的是,您可以使用如下语法调用函数:square.apply(null,[5])
。注意我是如何在square
函数上调用apply
函数的。唯一可以省略括号的情况是在使用new
关键字时。或者您使用了类似于setTimeout(func,0)
的黑客软件,但这在我看来并不合理。edit:正如Niet所说,在这种情况下,您没有调用函数,也不想调用它。您正在将一个函数指定为回调函数,以便其他代码稍后可以调用该函数。此处的http.onreadystatechange=useHttpResponse
是对useHttpResponse
函数的引用。部分原因是函数是JavaScript中的第一类对象。您可以将函数分配给变量:var square=function(x){return x*x;}
。您甚至可以有一个函数数组:var fs=[square,function(x){return x*x*x;}]
您可能会发现有趣的是,您可以使用如下语法调用函数:square.apply(null,[5])
。注意我是如何在square
函数上调用apply
函数的。