61阅读

社区推荐函-Javascript中 带名 匿名 箭头函数的重要区别(推荐)

发布时间:2017-11-21 所属栏目:专区推荐

一 : Javascript中 带名 匿名 箭头函数的重要区别(推荐)

带名函数是指函数显示地给出了一个名字的函数,function abs(x){}。匿名函数是指函数只带有function这个关键字,而没有像abs这种函数名称的函数,如function(){}。ES6标准新增了一种新的函数:Arrow Function(箭头函数)箭头函数表面上相当于匿名函数,并且简化了函数定义。它们各自的区别是什么呢?

1 带名和匿名函数的区别

区别:匿名函数需要讲地址赋值给另一个变量let a,然后再用a来调用函数;而带名函数因为显示地给出了函数名称,所以可以直接用这个函数名称调用。

带名函数返回值是函数体内的返回值,如abs(x)函数的返回值是number变量。函数调用时,直接abs(6)调用,这个非常好理解。

 function abs(x){  if(x>=0){  return x;  }else{  return -x;  } }

但是匿名函数呢?如下所示,函数未显示地给出一个函数名称,但是此处的abs被赋值为这个匿名函数的地址,所以使用时可以直接用abs(-3),诸如此类的调用。

 let abs=function(x){ if(x>=0){  return x;  }else{  return -x;  } }

2 箭头函数

ES6标准新增了一种新的函数:Arrow Function(箭头函数)。为什么叫Arrow Function?因为它的定义用的就是一个箭头。箭头函数表面上相当于匿名函数,并且简化了函数定义。

箭头函数有两种格式,一种是只包含一个表达式,连{ … }和return都省略掉了。

 x => x * x

上面的箭头函数相当于一个匿名函数“”

 function (x) {  return x * x; }

还有一种可以包含多条语句,这时候就不能省略{ … }和return:

 (x,y) => {  if (x > 0) {  return x + y;  }  else {  return -x + y;  } }

3 箭头函数和匿名函数的不同

箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,由上下文确定。

调用函数obj1.getAge(2017)和调用obj2.getAge(2017)会得到相同的结果吗?

obj1中fn函数,由于JavaScript函数对this绑定的错误处理,得不到预期的结果,this.birth指向window或undefined。

但是obj2,fn函数是箭头函数,箭头函数完全修复了this的指向,this总是指向词法作用域,也就是外层调用者obj2。

 var obj1 = {  birth: 1990,  getAge: function (year) { let fn=function(y){  return y - this.birth; // this指向window或undefined  }; return fn(year); } }; var obj2 = {  birth: 1990,  getAge: function (year) {  var fn = (y) => y - this.birth; // this.birth为1990  return fn(year);  } };

4 总结

和带名函数相比,匿名函数需要讲地址赋值给另一个变量let a,然后再用a来调用函数;和匿名函数比,箭头函数完全修复了this的指向,this总是指向词法作用域。

以上所述是小编给大家介绍的Javascript中 带名 匿名 箭头函数的重要区别,希望对大家有所帮助,如果有任何疑问欢迎给我留言,小编会及时回复大家的!

二 : 社区推荐信

推荐信

段洪雨同学从小就有极强的上进心,不仅自己学习好,还能帮助邻居学习有困难的同学补习功课,直到他们弄懂为止。该同学在家尊敬长辈,孝敬父母,自理能力强,是个好孩子。在外遵守公德,讲文明,懂礼貌,讲卫生,爱清洁,是个好公民。该同学爱劳动,经常利用休息时间和母亲清扫楼道的卫生。该同学善良、有爱心,积极参加社区组织的送温暖活动,将自己的衣服、图书、学习用品捐给家庭困难的同学。周围的邻居都特别喜欢这个充满爱心的小天使。我们社区认为该同学具备遴选市文明青少年的基本条件,特此推荐。

三 : 网站推荐:美食家社区--BakeSpace

目前美食生活成为许多媒体的热点题材,为不少电视台带来了可观的收视率、为报刊杂志拉升了发行量,然而专门的美食网站做的出彩的却并不多见。BakeSpace.com试图在这一领域有所突破。

这家成立于2006年的网站试图在美食领域复制Myspace的成功经验,为所有喜欢厨艺美食的人创建一个社交网站,创建一个虚拟的在线厨房、一个供人们聚集在一起来交流探讨厨艺、品评美食的网络空间。

BakeSpace.com允许人们浏览、分享、交换烹饪方法、现场展示并讲解自己的烹饪技艺,上传美食图片和视频,来与人们一起分享对于美食、厨艺的喜爱和热情。

  

从去年8月份发布以来,已经有超过1万名注册用户和数万份用户上传的食谱。而且获得了2007年第十一届Webby奖。

最近BakeSpace与厨具生产商KitchenAid展开合作,在BakeSpace上进行产品展示和促销,对于KitchenAid来说这也是第一次利用社交网站开始产品促销。

在疯狂而拥挤的社区网站市场,非常容易忽略的一点就是除了Myspace等大而全的通用社区之外,还有象BakeSpace这样小型的面向利基市场社区网站的存在。其实互联网社区的诞生且存在的基础就是用户的兴趣,正是因为共同的兴趣,来自世界各地的人们聚集起来形成各种各样的主题社区,这就注定了社区网站是一个又一个基于不同兴趣主题的分众化存在,面向细分群体、面向利基市场展开创新性服务。

谁如果在细分市场做到出彩,或许价值并不抵于Myspace,对于BakeSpace且让我们拭目以待。

本文标题:社区推荐函-Javascript中 带名 匿名 箭头函数的重要区别(推荐)
本文地址: http://www.61k.com/1068720.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1