Вы не можете использовать объявленную функцию до ее объявления.Это произойдет, когда функция будет определена в более поздней части кода.Когда вызывается функция $ scope.setTab, она не будет определена.
Функция должна быть определена до фактического вызова.
Fiddle
angular.module("app", []).controller("ctrl", ctrl);
function ctrl($scope){
$scope.setTab = function(tabNum) {
$scope.selectedTab = tabNum;
return $scope.selectedTab;
}
$scope.selectedTab = $scope.setTab(1) ? 1 : 2 ;
console.log($scope.selectedTab);
}
https://jsfiddle.net/gladson1976/n0r1v29e/6/