Функция, названная и присвоенная переменной

0

Присвоить функцию угловому диапазону переменной и присвоить ей имя - это плохая практика?

Пример для документа 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 + '!';
};
Теги:

2 ответа

0

Если вы хотите назначить функцию углового балла, вы можете это сделать в первую очередь.

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

но если вы действительно хотите назначить функцию угловому режиму, вы можете использовать ее как

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

$scope.sayHello = temp;

но в конце оба будут такими же (объявленными как угловая функция), поэтому лучше следовать первому подходу.

0

Это плохая практика и ненужная путаница.

Джон Ресиг демонстрирует разницу между ними в своем Расширенном руководстве 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 );

Ещё вопросы

Сообщество Overcoder
Наверх
Меню