gpt4 book ai didi

javascript - 在指令中命名匿名函数有什么意义?

转载 作者:行者123 更新时间:2023-11-29 10:33:56 25 4
gpt4 key购买 nike

我遇到了一些标准,基本上说指令和 Controller 中的所有函数都应该命名。我不是在谈论 Controller 或指令中的命名函数,我是在调用指令的行中谈论。

我通常如何写这个的例子:

angular.module('myModule',[])
.directive('myDirectiveName', function (){
return{
controller: function($scope){
//some code
}
}
});

本指南要求如何编写:

angular.module('myModule',[])
.directive('myDirectiveName', function directiveInit(){
return{
controller: function controllerInit($scope){
//some code
}
}
});

显然,这里的区别在于 directiveInitcontrollerInit

这有什么意义呢?是为了更好的调试错误吗?我知道这是不需要的。这会让事情变得更容易吗?它是一种 Angular 特定的做法吗?

编辑:我可以使用更好的标题吗?我觉得标题没有准确反射(reflect)我的要求。

最佳答案

很好地命名函数,即使它们看起来没有必要被命名,也是可维护性原因的一种做法。

其中之一是使功能可跟踪,用于调试和分析工具。当您分析代码以跟踪性能问题时,您最好知道函数的名称,否则您只会看到匿名函数,这对您的分析事件没有多大帮助。

其他原因,是为了提高代码可读性,尤其是对于团队而言。例如,在 angularjs (v1.x) 中,指令通常是这样声明的:

(function(){

angular
.module('myModule')
.directive('myDirectiveName', myDirectiveName);

function myDirectiveName(){

function controllerInit($scope){
//some code
}

return{
controller: controllerInit
}
}
})();

在我看来,这比匿名指令构造函数更容易阅读。此外,它使处理诸如封装之类的事情变得更加容易。

关于javascript - 在指令中命名匿名函数有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39901087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com