一 : 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中 带名 匿名 箭头函数的重要区别(推荐)61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1