michael@0: // Copyright 2009 the Sputnik authors. All rights reserved. michael@0: // This code is governed by the BSD license found in the LICENSE file. michael@0: michael@0: /** michael@0: * The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively michael@0: * michael@0: * @path ch13/13.0/S13_A3_T3.js michael@0: * @description Creating simple recursive function that calculates factorial michael@0: */ michael@0: michael@0: function __func(arg){ michael@0: if (arg === 1) { michael@0: return arg; michael@0: } else { michael@0: return __func(arg-1)*arg; michael@0: } michael@0: }; michael@0: michael@0: var fact_of_3 = __func(3); michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#1 michael@0: if (fact_of_3 !== 6) { michael@0: $ERROR("#1: fact_of_3 === 6. Actual: fact_of_3 ==="+fact_of_3); michael@0: } michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: