集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > web前端 >

成都前端培训课程中javascript回调函数的使用

发布者: 成都达内     浏览次数:     发布时间:2018-08-29 10:14:34

很多学员在尝试理解回调函数时遇到了问题。不太清楚它们是如何工作的以及如何在Javascript代码中使用它们。在这里,成都达内web前端讲师将尝试尽可能简单地解释它们。...

  成都前端培训课程中javascript回调函数的使用

  很多学员在尝试理解回调函数时遇到了问题。不太清楚它们是如何工作的以及如何在Javascript代码中使用它们。在这里,成都达内web前端讲师将尝试尽可能简单地解释它们。

  成都前端培训课程中javascript回调函数的使用

  Javascript函数

  在Javascript中,函数是对象,如字符串,数组等。因此,如果它是一个对象,这意味着您可以像所有对象一样传递到任何您想要的位置。例如:

  var calculateArea = function (a, b) {

  var area = a * b;

  console.log("Calculated area of "+ a + " and " + b + " is equal to: " + area);

  return area;

  }

  function rectangleCalculation(a, b, calculateFunction){

  calculateFunction(a, b);

  }

  rectangleCalculation(5, 4, calculateArea);

  在这个简短的例子中,我们看到“calculateArea”函数作为参数之一传递给“rectangleCalculation”函数,并在其中调用。如果你有一些具有一些常用功能的抽象函数并且需要提取一些特定功能,那将非常方便。例如:

  var calculateArea = function (a, b) {

  var area = a * b;

  console.log("Calculated area is equal to: " + area);

  return area;

  }

  var calculatePerimeter = function (a, b) {

  var perimeter = 2 * (a + b);

  console.log("Calculated perimeter is equal to: " + perimeter);

  return perimeter;

  }

  function rectangleCalculation(a, b, calculateFunction){

  console.log("Input parameters: a = " + a + "; b = " + b + ";");

  calculateFunction(a, b);

  }

  rectangleCalculation(5, 4, calculateArea);

  rectangleCalculation(5, 4, calculatePerimeter);

  此时,我将参数记录移出到“rectangleCalculation”函数,因为矩形不能有两个以上的变量a和b。我还为周边计算添加了另一个功能。从这里你可以看到我不需要改变任何东西,我可以将任何我想要的东西传递给“rectangleCalculation”函数。

  Javascript回调函数

  回调函数是一个传递给另一个函数的函数,它是什么时候调用传递的函数。这在执行长I / O操作时非常方便,因为它允许异步行为。回调函数在大多数Javascript框架中广泛使用。一开始,特别是那些使用Java或类似语言编程的人,这有点奇怪,因为从代码序列中你无法确定它是否会逐行执行。例如:

  var callDelayFunction = function(callbackFunction) {

  setTimeout(function() {

  callbackFunction();

  }, 3000);

  };

  console.log("Starting");

  callDelayFunction(function() {

  console.log("Callback function");

  });

  console.log("Ending");

  从第一次查看代码开始,看起来应该调用“Starting”,“Callback function”和“Ending”,但实际上是“Starting”,“Ending”,并且在3秒之后,“Callback function”是调用。因此,在编写代码时,您需要记住,特别是当它涉及与数据库或文件I / O的通信时,下一个将要执行的代码必须在没有数据的情况下工作,因为它通常不会被呈现。

  结论

  回调函数非常有用,因为它们允许您在不阻止代码执行的情况下执行耗时的操作。当然,它有一些缺点,如果你使用过Java或类似的语言,你需要稍微改变一下你的想法。但这是一件好事,因为走出你的舒适区总能带来很多好处。

  知识是需要不断的累积,前端开发会变成一个必不可少的优势,IT行业的不断发展,你还在考虑什么呢?选择成都web培训班web前端开发课程,不再孤军奋战,早日完成自己的做IT高薪白领得梦想。合肥达内给你一条和别人不一样的路!

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街紫东段35号明宇广场2306

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市人民南路一段86号“城市之心”大厦26楼

联系电话:15023458194

公交路线:成都市人民南路(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56