导航:首页 > 废水知识 > 什么时候用js的回调

什么时候用js的回调

发布时间:2022-06-07 01:22:37

Ⅰ 什么是JS回调函数

回调函数就是某个函数执行完毕后执行的函数,没什么的啊。比如:
function(callback){
// 代码
// 以上代码执行完毕后执行回调函数
if(typeof callback === "function"){
callback();

}

}
这是因为js中函数可以当做参数直接传递进去。

Ⅱ 什么是JavaScript中的回调函数,作用是什么

var req;
function validate() {
var idField = document.getElementById("userid");
var url = "Validate.jsp?id=" + encodeURI(idField.value);
init();
req.open("GET", url, true);
req.onreadystatechange = callback;
//callback就是回调函数,当触发req.onreadystatechange时,调用callback获取url传回的东西
req.send(null);
}

function init() {
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}

function callback() {
if(req.readyState == 4) { //反馈回到客户端
if(req.status == 200) { //反馈完全正常
//alert(req.responseText);
var msg = req.responseXML.getElementsByTagName("msg")[0];
//alert(msg);
setMsg(msg.childNodes[0].nodeValue);
}
}
}

function setMsg(msg) {// 页面中的span <span id="usermsg"></span>
//alert(msg);
mdiv = document.getElementById("usermsg");
if(msg == "invalid") {
mdiv.innerHTML = "<font color='red'>username exists</font>";
} else {
mdiv.innerHTML = "<font color='green'>congratulations! you can use this username!</font>";
}
}

Validate.jsp

<%
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-store"); //HTTP1.1
response.setHeader("Pragma", "no-cache"); //HTTP1.0
response.setDateHeader("Expires", 0); //prevents catching at proxy server
System.out.println(request.getParameter("id"));
//check the database 可以先去数据库取
response.getWriter().write("<msg>valid</msg>");//写这个内容,随便指定
%>

Ⅲ 请问在JavaScript中,“回调函数”是一种具体用法,还是一种编程思想

“回调”是一种编程思想,“回调函数”是一个函数。
js里面回调主要两种方式体现:
一种是把函数本身当作一个参数传递,需要回调的之后直接执行。

Ⅳ JS回调函数

回调函数可以继续扩展一个函数的功能,可以是程序非常灵活。
比如:
function
showDiv(callback){
$("#div1").show();
callback($("#div1"));
}
showDiv(function($div){
$div.text("hello
world");
});
//原本showDiv的功能就是现实一个div,加了callback函数当参数后就可以在执行完show之后改变div中的文字。
一般来说,callback函数用在异步中的例子比较多,因为在异步调用中,只能通过回调函数继续执行某个动作。
例如:
function
myThread(callback){
return
setTimeout(1000*10,function(){
$("#div").append("<p>hello</p>");//10秒后在div中加一个行,然后在执行callback函数
callback();
});
}

Ⅳ 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回调函数是干什么的呢

1、回调函数的概念

回调是一个函数,它作为参数传递给另一个函数,并在其父函数完成后执行。

function doSomething(msg, callback){

alert(msg);

if(typeof callback == "function")

callback();

}

doSomething("回调函数", function(){

alert("匿名函数实现回调!");

});


2、通常使用场景:

从上面的例子,我们可以看出回调与同步、异步并没有直接的联系,回调只是一种实现方式,既可以有同步回调,也可以有异步回调,还可以有事件处理回调和延迟函数回调,这些在我们工作中有很多的使用场景。

Ⅶ 各位大牛,我现在在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来取用这个值了。

Ⅷ node.js回调函数什么时候调用

1.阻塞调用(读取完文件再执行后面的操作)

?

1

2

3

4

var fs = require("fs");

var data = fs.readFileSync('/fs.txt');

console.log(data.toString());

console.log("程序执行结束!");

输出结果:

“文件内容”

“程序执行结束!”

2.非阻塞调用(读取文件和其他操作同步执行)

?

1

2

3

4

5

6

var fs = require("fs");

fs.readFile('/fs.txt',function(err,data){

if(err) return console.error(err);

console.log(data.toString());

});

console.log("程序执行结束!");

输出结果:

“程序执行结束!”

“文件内容”

如果我们每行代码的执行都不依赖于上一行代码的执行结果,那没问题,顺序执行就好。
但是如果我们某行代码的执行,依赖于上一行代码的结果,这个时候就需要回调函数了。我们必须要使用回调函数返回上一行代码的结果,然后才能继续执行这一行代码。

阅读全文

与什么时候用js的回调相关的资料

热点内容
反渗透膜清洗水量计算 浏览:914
废水性漆铁桶多少钱 浏览:120
五脊四坡屋顶图片集树脂瓦 浏览:460
f5滤芯是什么 浏览:884
纯水机制水电导率标准值是多少 浏览:907
本田凌派如何安装空调滤芯 浏览:108
史密斯净水器是反渗透的吗怎么样 浏览:543
速腾空气滤芯总成怎么拆 浏览:207
机油滤芯有什么问题 浏览:875
十五千瓦的污水泵多重 浏览:210
中泰化学托克逊高性能树脂 浏览:566
中国水处理企业名录 浏览:299
石化废水用什么材料好 浏览:602
矩形直线混凝土污水检查井图集 浏览:16
医险污水消毒池设计方案 浏览:272
通俗的讲蒸馏 浏览:296
c4世嘉空调滤芯用什么 浏览:301
屠宰污水处理厂设备价格 浏览:89
净化器电压过高应该怎么调 浏览:796
餐饮废水质检测要多少钱 浏览:116