JavaScript里面的基本函数

1、主要有三类基本函数

<script type="text/javascript">



    // 普通函数
    function func1(arg){
        return true;
    };

// 匿名函数
    var func2 = function(arg){
        return "jay";
    };

// 自执行函数,会自己执行,不用等待调用,arg就是参数,不需要名字
    (function(arg){
        console.log(arguments);//不限定参数个数,会全部当做数组放进去
        console.log(arg);
    })('123')
</script>

  2、作用域

每一个函数都保留了一个自己的作用域,而且在解释的时候已经定死了

  i= 123;
    function f1() {
        var i =212;//属于f1
        function f2() {
            var name ='jay';
            console.log(i);//会先在f2里面找,没有则在f1,一步一步找到最上面
        }
    }

  下面的代码输入的是eric

  

  name = 'jay' 
    function f1() {
        var name = 'eric';
        function f2() {
            alert(name);

            
        }
        return f2;
    }

    var ret =f1();
    ret();

  

3、闭包

闭包是指可以包含自由(未绑定到特定对象)变量的代码块。

「闭包」,是指拥有多个变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

闭包是个函数,而它「记住了周围发生了什么」。表现为由「一个函数」体中定义了「另个函数」

由于作用域链只能从内向外找,默认外部无法获取函数内部变量。闭包,在外部获取函数内部的变量。

function f2(){
    var arg= [11,22];
    function f3(){
        return arg;
    }
    return f3;
}
 
ret = f2();
ret();

  

posted @ 2017-03-21 17:56  蜗牛仔  阅读(190)  评论(0编辑  收藏  举报