• 技术文章 >web前端 >H5教程

    匿名函数究竟要不要用,有什么优缺点?

    2016-06-07 08:43:30原创1596
    JavaScript经常会看到匿名函数的使用,可是也有一部分人反对匿名函数的使用,那究竟我们是用呢还是不用好呢?

    回复内容:

    谁反对了? 匿名函数的缺点是不便于后续的检索和识别(大部分匿名函数合理的使用场景也没有这种需求),不过这一点在ES6有了改善,ES6的每个函数都有一个name属性,方便辨别。 只是某些情况下使用匿名函数不合理,一棍子全打死是不对的。
    题主,多看书多敲代码 根据场景选择是否用匿名函数

    比如在回调里:

    可以选择用,因为它的名字没有那么重要:
    http.createServer(function(req, res) {
      // do something...
    });
    
    缺点就是。。匿名函数的事件。。不能解绑。。。 起名字真的是个头疼的问题 为函数注册事件的时候不要用 匿名函数,,,,,
    不然 你就不能解绑了。
    当然,如果你用的是框架,框架会帮你解决。 匿名函数不适合使用的场景之一就是调试,

    比如说在nodejs中,你追踪某个语句出错的使用,使用TJ写的调试插件,就会直接告诉你是哪个函数出了问题,如果函数有名字,直接显示名字,但是没有名字,就直接写anonymous

    还有一个场景是回调只用一次的场景,一般用onlyOnce包装好,如果调用第二次,会显示是哪个函数出了错,这个是async改进过的地方

    在windows Asure提供的nodejs包中,你会发现所有的原型方法对应的函数上都加了原型方法名

    joyent推荐多使用有名字的短小并且精干的函数

    joyent并不鼓励使用闭包,如果程序变大了,堆栈跨域调用的层数增加,维护起来会很吃力,而闭包的显著特点之一就是匿名回调 存在即合理,如楼上所说,谁反对了?
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:JavaScript
    上一篇:各位前辈,有没有学习WebGL方面的经验愿意分享? 下一篇:Flash在苹果、微软、火狐的围剿下生存期还有几年?有没有完善的替代方案?
    千万级数据并发解决方案

    相关文章推荐

    • HTML5实践-三步实现响应式设计的详细介绍• 在HTML5 Canvas中放入图片和保存为图片的方法_html5教程技巧• html5配合css3实现带提示文字的输入框(摆脱js)_html5教程技巧• HTML5 b和i标记将被赋予真正的语义_html5教程技巧• 2015-2016前端架构体系技术精简版
    1/1

    PHP中文网