javascript
关于javascript中的回调函数
?
關(guān)于javascript中的回調(diào)函數(shù)
原文地址:http://blog.csdn.net/sicluoyi/article/details/1737969
考慮一個(gè)這樣的例子:
??????? 假如某個(gè)項(xiàng)目的底層和高層是由不同的人員協(xié)同完成.底層負(fù)責(zé)數(shù)據(jù)的存取,高層負(fù)責(zé)數(shù)據(jù)的表示.當(dāng)高層要用到某個(gè)模塊的數(shù)據(jù),于是他對(duì)底層人員說(shuō),我需要你們提供滿(mǎn)足某種需求的數(shù)據(jù),你給我提供一個(gè)接口.
?????? 底層的人員說(shuō):我給你提供數(shù)據(jù),怎么展示和處理則是你的事情.我不可能為你每個(gè)需求都提供一個(gè)數(shù)據(jù)接口,我給你提供一個(gè)通過(guò)的接口.你得到數(shù)據(jù),然后自己寫(xiě)函數(shù)去展示.由是經(jīng)過(guò)協(xié)商,雙方提供了一個(gè)這樣的接口:
//data表示底層提供的數(shù)據(jù)源,funcName表示高層的調(diào)用函數(shù)
????? function(data,funcName){
?????? 1.data屬于情形1,由底層處理;
??????? 2.data屬于情形2,由高層處理,怎么處理呢?利用高層提供的函數(shù)funcName處理
??? .....
????? }
我可能還沒(méi)說(shuō)清楚,我們看個(gè)例子一下子就明白了
//假如提供的數(shù)據(jù)源是一整數(shù),為某學(xué)生的分?jǐn)?shù),當(dāng)num<=0,由底層處理,當(dāng)n>0時(shí)由高層處理.
//將下面這個(gè)函數(shù)拷貝下來(lái)存盤(pán)為1.js
function f(num,callback){if(num<0) {
alert("調(diào)用低層函數(shù)處理!");
alert("分?jǐn)?shù)不能為負(fù),輸入錯(cuò)誤!");
}else if(num==0){
alert("調(diào)用低層函數(shù)處理!");
alert("該學(xué)生可能未參加考試!");
}else{
alert("調(diào)用高層函數(shù)處理!");
callback();
} }
//將下面這個(gè)test.html文件存盤(pán)與1.js在一個(gè)目錄下:?
參數(shù):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>無(wú)標(biāo)題文檔</title>
<script type="text/javascript">
function f(num,callback){
if(num<0) {
alert("調(diào)用低層函數(shù)處理!");
alert("分?jǐn)?shù)不能為負(fù),輸入錯(cuò)誤!");
}else if(num==0){
alert("調(diào)用低層函數(shù)處理!");
alert("該學(xué)生可能未參加考試!");
}else{
alert("調(diào)用高層函數(shù)處理!");
callback(1);
}
}
function test(){
var p=document.getElementById("pp");
pp.innerText="";
var num=document.getElementById("score").value;
f(num,function(back){
//匿名高層處理函數(shù)
alert(back);
if(num<60) alert("未及格!");
else if(num<=90) alert("該生成績(jī)優(yōu)良!");
else alert("該生成績(jī)優(yōu)秀!"); })
pp.innerText="by since1978 qq558064!"
} </script>
</head>
<body> <
p> 回調(diào)函數(shù)示例:當(dāng)學(xué)生成績(jī)score<=0分時(shí)候,由底層處理;當(dāng)score>0時(shí),由高層處理。 </p>
請(qǐng)輸入學(xué)生成績(jī)
<input type="text" id="score">
<input type="button" onClick="test()" value=" 看看結(jié)果">
<p id="pp"></p>
</body>
</html>
?
| <script type="text/javascript"> ??? window.onload = function(){ ??????? alert("fuckof"); ?? } </script> |
轉(zhuǎn)載于:https://www.cnblogs.com/lala314/articles/5053489.html
總結(jié)
以上是生活随笔為你收集整理的关于javascript中的回调函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 图片添加图片水印和文字水印
- 下一篇: [20180810]exadata--豆