JavaScript基础(7) 函数表达式

来源:互联网 发布:java json格式化输出 编辑:程序博客网 时间:2024/05/18 00:04

7.1 递归

        <script type="text/javascript">                  function factorial(num){                if (num <= 1){                    return 1;                } else {                    return num * arguments.callee(num-1);                }            }            var anotherFactorial = factorial;            factorial = null;            alert(anotherFactorial(4));  //24        </script>



7.2 闭包与变量

        <script type="text/javascript">                    function createFunctions(){                var result = new Array();                                for (var i=0; i < 10; i++){                    result[i] = function(){                        return i;                    };                }                                return result;            }                        var funcs = createFunctions();                        //every function outputs 10            for (var i=0; i < funcs.length; i++){                document.write(funcs[i]() + "<br />");            }        </script>            function createFunctions(){                var result = new Array();                                for (var i=0; i < 10; i++){                    result[i] = function(num){                        return function(){                            return num;                        };                    }(i);                }                                return result;            }

7.3 模仿块级作用域

 
       <script type="text/javascript">                    function outputNumbers(count){                            (function () {                    for (var i=0; i < count; i++){                        alert(i);                    }                })();                                alert(i);   //causes an error            }            outputNumbers(5);        </script>



0 0
原创粉丝点击