Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
michael@0 | 1 | // Copyright 2009 the Sputnik authors. All rights reserved. |
michael@0 | 2 | // This code is governed by the BSD license found in the LICENSE file. |
michael@0 | 3 | |
michael@0 | 4 | /** |
michael@0 | 5 | * The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively |
michael@0 | 6 | * |
michael@0 | 7 | * @path ch13/13.0/S13_A3_T1.js |
michael@0 | 8 | * @description Creating a recursive function that calculates factorial, as a variable. |
michael@0 | 9 | * Function call itself by it`s name |
michael@0 | 10 | */ |
michael@0 | 11 | |
michael@0 | 12 | var __func = function __exp__func(arg){ |
michael@0 | 13 | if (arg === 1) { |
michael@0 | 14 | return arg; |
michael@0 | 15 | } else { |
michael@0 | 16 | return __exp__func(arg-1)*arg; |
michael@0 | 17 | } |
michael@0 | 18 | }; |
michael@0 | 19 | |
michael@0 | 20 | var fact_of_3 = __func(3); |
michael@0 | 21 | |
michael@0 | 22 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 23 | //CHECK#1 |
michael@0 | 24 | if (fact_of_3 !== 6) { |
michael@0 | 25 | $ERROR("#1: fact_of_3 === 6. Actual: fact_of_3 ==="+fact_of_3); |
michael@0 | 26 | } |
michael@0 | 27 | // |
michael@0 | 28 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 29 |