本文探讨JavaScript中函数作为一等公民的特性,通过具体代码示例展示如何将函数赋值给变量,并利用临时变量实现两个函数引用的交换。同时简要对比了DWR框架中回调函数的不同写法,包括内联匿名函数与独立函数引用的传递方式,帮助理解函数在JavaScript中的对象本质及引用传递机制。
JavaScript函数引用的交换示例
,例如交换操作如下:
<script type="text/javascript">
/*function update() {
{
var name = dwr.util.getValue("demoName");
Demo.sayHello(name, function(data) {
dwr.util.setValue("demoReply", data);
dwr.util.setValue("demoReply2",data);
});
}*/
/*
function setData(data) {
{
dwr.util.setValue("demoReply", data);
dwr.util.setValue("demoReply2",data);
}
function update() {
{
var name = dwr.util.getValue("demoName");
Demo.sayHello(name,setData);
}
*/
function update() {
{
var name = dwr.util.getValue("demoName");
var name2 = $("demoName").value;
var name3 = document.getElementById("demoName").value;
alert(name2+name3+name);
Demo.sayHello(name,{
callback:function(data) {
{
dwr.util.setValue("demoReply",data);
dwr.util.setValue("demoReply2",data);
}
});
}
hot = function hot(){ alert("Sweat.");}
cold = function cold(){ alert("Shiver.");}
function swap() {
{
temp = hot;
hot = cold;
cold = temp;
alert("Swap.");
}
</script>
两个函数可以像普通变量一样进行交换。