繁体   English   中英

函数已命名并分配给变量

[英]Function named and assigned to a variable

将一个函数分配给angularjs变量范围并为其命名是一个不好的做法?

AngularJS文档的示例: https ://docs.angularjs.org/guide/scope

$scope.username = 'World';

$scope.sayHello = function() {
     $scope.greeting = 'Hello ' + $scope.username + '!';
};

“不良做法”:

$scope.username = 'World';

$scope.sayHello = function helloWorld() {
     $scope.greeting = 'Hello ' + $scope.username + '!';
};

这是一种不好的做法,并且会造成不必要的混乱。

John Resig在他的高级JS教程中演示了两者之间的区别:

http://ejohn.org/apps/learn/#11

var ninja = function myNinja(){ 
  assert( ninja == myNinja, "This function is named two things - at once!" ); 
}; 
ninja(); 
assert( typeof myNinja == "undefined", "But myNinja isn't defined outside of the function." ); 
log( ninja );

如果要分配角度得分功能,则可以将其作为第一种方法。

$scope.sayHello = function() {
 $scope.greeting = 'Hello ' + $scope.username + '!';
};

但是,如果您真的想将一个功能分配给角度模式,则可以像

var temp = function () { 
  console.info('temp');
}

$scope.sayHello = temp;

但是最后两者都是相同的(声明为角函数),因此最好采用第一种方法。

暂无
暂无

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

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