05_Javascript进阶第一天

  1. 内部私有函数
    function a(){
            alert('aaa');
            return function b(){
                alert('bbb');
            }
        }    
        //调用内部私有函数b,方法1
        var func=a();
        func();
        //方法2:自调用
        a()();
        
        //重写自己的函数(比如第一次调用时做准备工作)
        function a(){
            alert('aaa');
            a=function b(){
                alert('bbb');
            }
        }
        a();//输出:aaa
        a();//输出:bbb
        
        var a=function(){
            //私有函数
            function setUp(){
                var setup='doSomeThing';
            }
            function doWork(){
                alert('do your job');
            }
            setUp();
            return doWork;//没加括号表示引用
        }();//自调用
        a();//这是第二次调用,输出:do your job
  2. 通过js内置函数构造器构造函数
    var func=new Function('a','b','return a+b');
    func(3,5);//调用函数



  3.     var n;
        function f(){
            var a='yolo';
            n=function(){
                return a;
            };
        }
        f();
        alert(n());
        
        function f1(x){
            var n=function(){
                return x;
            };
            x++;
            return n;
        }
        var output=f1(2);
        alert(output());//输出3,因为递增在前,return在后
原文地址:https://www.cnblogs.com/yolo-bean/p/8005863.html