У меня есть служба, и я пытаюсь создать рекурсивную функцию:AngularJS внутри сервисной функции это возвращает нуль
function(angular){
'use strict';
angular.module('main')
.service('testRecursionService', function() {return {
'factorial': function(data){
if(data = 1){
return data
}
else{
return data * this.factorial(data - 1);
}
}}})}(angular.window)
Когда я вызываю функцию факториала внутри контроллера, он говорит, что это не определено. Я из фона Java/C#, поэтому мое понимание - это объект службы, созданный инжектором, и с этого момента я должен иметь возможность вызвать факториальную функцию.
Но как это не определено? Я что-то упускаю?
@skubski Вы можете использовать это в службе, хотя. Я делаю это все время. – Chrillewoodz
@Chrillewoodz Вы были правы: контекст выполнения остается неизменным в объявлении объекта. Я забыл об этом исключении. Получил любовь JS. ;) – skubski
@skubski Да, это замечательный язык: p – Chrillewoodz