JavaScript中回调函数的使用
2016-05-05 18:32
323 查看
在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。
在实际应用中,可以这么应用,一个方法进行获取数据源,另一个方法(回调函数)可以通过数据源在页面上进行展示,可以根据具体的需求进行展示就行,如果多个地方用到这个数据源,可以写不同的回调函数,将此函数传入这个方法中即可。
来,咱们通过实例可以一目了然
获取公司信息的小例子
1、获取公司信息数据源的方法(参数 url 为访问的地址,paramsObj为传递的参数对象,callback 为回调函数)
2、后台调用数据的方法
View Code
在实际应用中,可以这么应用,一个方法进行获取数据源,另一个方法(回调函数)可以通过数据源在页面上进行展示,可以根据具体的需求进行展示就行,如果多个地方用到这个数据源,可以写不同的回调函数,将此函数传入这个方法中即可。
来,咱们通过实例可以一目了然
获取公司信息的小例子
1、获取公司信息数据源的方法(参数 url 为访问的地址,paramsObj为传递的参数对象,callback 为回调函数)
function getList(url, paramsObj, callback) { $.ajax({ type: "Post", url: url, dataType: "json", data: JSON.stringify({ paramsObj: JSON.stringify(paramsObj) }), contentType: "application/json;charset-utf-8", success: function (data) { callback(data); } }); }
2、后台调用数据的方法
@{
ViewBag.Title = "Index";
}
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
//get();
var url = "/Company/GetCompanyList";
var paramsObj = { ID: 3, Name: "ck" };
var com = new Company(33, "123456");
com.GetCompany(url, paramsObj);
});
function Company(ID,Name)
{
this.ID = ID;
this.Name = Name;
}
Company.prototype.GetCompany = function (url, paramsObj) {
getList(url, paramsObj, buildHtml);
getList(url, paramsObj, alertHtml);
}
function getList(url, paramsObj, callback) { $.ajax({ type: "Post", url: url, dataType: "json", data: JSON.stringify({ paramsObj: JSON.stringify(paramsObj) }), contentType: "application/json;charset-utf-8", success: function (data) { callback(data); } }); }
function buildHtml(data) {
var strHtml = "";
strHtml += "<table>";
for (var i = 0; i < data.length; i++) {
strHtml += "<tr>";
strHtml += "<td>" + data[i].ID + "</td>";
strHtml += "<td>" + data[i].Name + "</td>";
strHtml += "</tr>";
}
strHtml += "</table>";
$("#divTable").html(strHtml);
}
function alertHtml(data) {
var strHtml = "";
strHtml += "<table>";
for (var i = 0; i < data.length; i++) {
strHtml += "<tr>";
strHtml += "<td>" + data[i].ID + "</td>";
strHtml += "<td>" + data[i].Name + "</td>";
strHtml += "</tr>";
}
strHtml += "</table>";
alert(strHtml);
}
</script>
<h2>Index</h2>
<div id="divTable" style="width:500px; height:300px;">
</div>
View Code
相关文章推荐
- cJson库的使用
- JSON处理工具
- jsp 删除服务器上的文件
- jsp页显示时间标签JSTL标签 <fmt:formatDate/> 实例大全
- jsp 文件上传下载
- JS面向对象的程序设计
- js变量声明提升,变量作用域与函数作用域,作用域链
- Scrapy爬虫中使用Splash处理页面JS
- js发起长轮询获取推送消息
- JS学习笔记
- jsp项目登录开发 产生 session error 解决方法
- Scrapy webkit 获取js代码执行结果后再抓取
- JavaScript 设计模式之代理模式
- json转数组
- js中静态函数与变量
- Javascript值拷贝与引用
- 继续说一下openjson 以及 json path 的使用 (2)
- 继续说一下2016里面的json功能(1)
- javascript实例学习之六—自定义日历控件
- 使用scrapy的定制爬虫-第三章-爬虫的javascript支持