⑴ js中什么是回调函数
在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。
⑵ 各位大牛,我现在在JS方法中遇到回调函数的问题。请问一下回调函数是怎么使用的,在什么时候返回
父窗口可以在取得iframe对象以后(document.getElementById)以后(比如ifa),用ifa.function1()来调用iframe里面window.function1函数,iframe里面的js可以用parent.function2()来调用父窗口里面的window.function2函数。
赋值的话就更简单了,ifa.aaa = 0,就是把子窗口里面的window.aaa赋值为0了,子窗口里面的js直接用window.aaa就可以取得这个值,同理,iframe里面的js用parent.bbb = 1,就是把父窗口的window.bbb赋值为1了,父窗口就可以用window.bbb来取用这个值了。
⑶ js回调函数有什么用
很容易把一个函数作为参数传递。
functionfn(arg1,arg2,callback){
varnum=Math.ceil(Math.random()*(arg1-arg2)+arg2);
callback(num);//传递结果
}
fn(10,20,function(num){
console.log("Callbackcalled!Num:"+num);
});//结果为10和20之间的随机数
可能这样做看起比较麻烦,甚至有点愚蠢,为何不正常地返回结果?但是当遇上必须使用回调函数之时,你也许就不这样认为了!
传统函数以参数形式输入数据,并且使用返回语句返回值。理论上,在函数结尾处有一个return返回语句,结构上就是:一个输入点和一个输出点。这比较容易理解,函数本质上就是输入和输出之间实现过程的映射。
但是,当函数的实现过程非常漫长,你是选择等待函数完成处理,还是使用回调函数进行异步处理呢?这种情况下,使用回调函数变得至关重要,例如:AJAX请求。若是使用回调函数进行处理,代码就可以继续进行其他任务,而无需空等。实际开发中,经常在javascript中使用异步调用,甚至在这里强烈推荐使用!
下面有个更加全面的使用AJAX加载XML文件的示例,并且使用了call()函数,在请求对象(requested object)上下文中调用回调函数。
functionfn(url,callback){
varhttpRequest;//创建XHR
httpRequest=window.XMLHttpRequest?newXMLHttpRequest()://针对IE进行功能性检测
window.ActiveXObject?newActiveXObject("Microsoft.XMLHTTP"):undefined;
httpRequest.onreadystatechange=function(){
if(httpRequest.readystate===4&&httpRequest.status===200){//状态判断
callback.call(httpRequest.responseXML);
}
};
httpRequest.open("GET",url);
httpRequest.send();
}
fn("text.xml",function(){//调用函数
console.log(this);//此语句后输出
});
console.log(".");//此语句先输出
我们请求异步处理,意味着我们开始请求时,就告诉它们完成之时调用我们的函数。在实际情况中,onreadystatechange事件处理程序还得考虑请求失败的情况,这里我们是假设xml文件存在并且能被浏览器成功加载。这个例子中,异步函数分配给了onreadystatechange事件,因此不会立刻执行。
最终,第二个console.log语句先执行,因为回调函数直到请求完成才执行。
⑷ 什么是JS回调函数
回调函数就是某个函数执行完毕后执行的函数,没什么的啊。比如:
function(callback){
// 代码
// 以上代码执行完毕后执行回调函数
if(typeof callback === "function"){
callback();
}
}
这是因为js中函数可以当做参数直接传递进去。
⑸ JS回调函数
常用于ajax,获取到服务端返回的数据后执行回调
⑹ js回调函数是干什么的呢
1、回调函数的概念
回调是一个函数,它作为参数传递给另一个函数,并在其父函数完成后执行。
function doSomething(msg, callback){
alert(msg);
if(typeof callback == "function")
callback();
}
doSomething("回调函数", function(){
alert("匿名函数实现回调!");
});
2、通常使用场景:
从上面的例子,我们可以看出回调与同步、异步并没有直接的联系,回调只是一种实现方式,既可以有同步回调,也可以有异步回调,还可以有事件处理回调和延迟函数回调,这些在我们工作中有很多的使用场景。