當前位置:首頁 » 廢水回用 » 回調函數有什麼用

回調函數有什麼用

發布時間: 2020-12-16 04:55:06

A. jquery中回調函數是什麼概念 有什麼作用

通俗點 你理解為 執行完該函數之後 然後執行回調函數內容
$(selector).show(speed,callback) show這個方法內 有兩個參數嘛 speed是控制速容度
callback 你可以放一個 function(){alet("1")} 去替換 這就是簡單的小例子
希望能幫到你 謝謝

B. jQuery中方法回調函數什麼用

函數處理返回來的數據,比如以下代碼是把返回的數據添加到列表中
$.ajax(
{
type: "get",
datatype: "json",
url: encodeURI("test.ashx?name=" + $("#<%=TextBox1.ClientID %>").val()),
beforeSend: function() { $("#panel").html("正在載入..."); },

success: function(data) { var data1 = eval('' + data + ''); $("#panel").html(""); $.each(data1, function(i) { $("#panel").append("<li>name:" + data1[i].name + " " + "age:" + data1[i].age + "</li>"); }) },
// success:function(data){$("#panel").html(data);},
complete: function() { alert("載入完成"); }

}

)

C. 什麼是回調函數,英文用callback,為什麼叫回調函數,有什麼實際的功能

別人寫了一個函數,用來下載你的電話本。保存到一個文件裡面。
別人的函數(參數1,參版數2)權
然後你使用這個函數。每次調用之後,電話本就被保存到指定文件裡面了。
使用一段時間你會感覺,只是用這個函數是不錯,不過不知道下載的進度啊。
所以你就會要求把進度情況告訴你。

然後他就改進了一下
別人的函數(參數1,參數2,回調函數)
並且告訴你回調函數的格式如下
回調函數(參數1:當前數量,參數2:總數量)

你使用時必須按照這個格式定義一個函數,然後傳給他。

如下,別人的函數(參數1,參數2,你寫的回調函數名字)

這樣,你每次調用別人的函數的時候,你寫的那個回調函數就會被調用(如何調用是別人控制的了,你只需要在你的函數裡面處理好參數1 2就行了)

當然,很多時候回調是不分彼此的,這里寫的別人,和自己,只是為了好理解,意思就是表示2個調用和被調用的關系
剩下的你自己體會吧。
PS,你拿國王與飯舉例,實在有些牽強。

D. 在什麼情況下 要用回調函數,請舉例說明

程序非同步執行的時候用得多,比如執行完一段要返回一個結果,就可以在執行完後調用回調函數,各種語言都有的

E. c++中回調函數有什麼用

回調函數不是c++的概念復制,是windows中的概念
叫做 CALLBACK 函數
這種函數有固定的格式,你把這個函數提供給windows,windows會在適當的時候自己調用
你不自己調用,所以叫做回調函數

F. 什麼是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>");//寫這個內容,隨便指定
%>

G. 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語句先執行,因為回調函數直到請求完成才執行。

H. c語言回調函數究竟有什麼用處我覺的用普通的函數調用替換也可以,謝謝

從功能上來說復 普通函數制也是可以的
但在比較大的程序設計中 會對很多功能模塊進行封裝
比如 上層一個模塊
底層一個模塊

同時規定,上層可以調用底層的函數,但是底層不可以調用上層函數。
這時就需要使用回調函數。
通過上層調用底層的注冊回調借口,傳入回調指針。
實現底層通知上層的作用。

另外 回調函數的一個好處是,可以通過回調函數,調用不同介面。
比如接收數據,不同數據需要不同的解析函數。
但是接收數據的流程是相同的
這樣 使用回調函數,在接收數據的時候就可以不用判斷,而是自動使用不同的解析函數。

總之 使用回調函數,可以降低耦合,實現多樣性。

I. c++回調函數有什麼用

回調類似於事件相應。當系統在某個事情發生的時候會調用你指定的方法。這個方法先定義好,並等待系統來調用。比如Hook(系統鉤子)就是給窗口設置一個函數地址,然後系統會自動的調用你的函數。這就是回調了。

J. java 的回調函數是什麼 講的簡單些

就是你媽媽在做飯,你在玩電腦。媽媽做飯是回調函數,飯做完了會通知你,隨後你再執行關閉電腦方法去吃飯。沒有回調函數的話,在媽媽做完飯以前,你不能做其他事,只能等。做完飯了,你結束等待,去吃飯

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239