function fac(n){ if (n==1) return 1; else return n*fac(n-1); } //pointer to a function Func_pointer = fac; Test.AreEqual(fac(4), Func_pointer(4)); //Call function using pointer //Anonimous function aFunction = function(n){ if (n==1) return 1; else return n*aFunction(n-1); }; Test.AreEqual(fac(5), aFunction(5));