繁体   English   中英

属性名称与非匿名函数相同

[英]Property name same as non anonymous function

我想将非匿名函数用于更好的调试目的,并遇到以下问题。

当我有一个函数返回方法的对象时(例如在angularjs工厂中),将返回的属性和函数命名为相同的样式是否不好?

像这儿:

angular
    .module('myModule', [])
    .factory('foobar', foobar);

function foobar() {
    return {
        foo: function foo() {console.log('foo')},     //Is this ok
        bar: function barFunc() {console.log('bar')}  //Or this way better
    }
}

这不是样式问题,也没有明确的答案。 将函数表达式命名为与属性相同肯定没有问题

但是,您的目标是获得更好的调试体验。 因此,您应该问自己:“ 什么名称可以帮助我最好地通过其名称识别代码中的功能? ”。 无论是foofooFuncfoobar_foo (包括模块名称)还是其他任何东西,您都必须自己决定。

这两个选项都很好-您将获得的唯一区别是,在调试时,您将看到函数的名称,而不是真正有用的anonymous function

综上所述-我建议您命名,但是命名完全取决于您:-)

最好的方法是这样的:

function foobar() {
  return {
    foo() { console.log('foo') }
  };
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM