码迷,mamicode.com
首页 > Web开发 > 详细

js 函数

时间:2015-10-09 22:43:40      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

一、函数的定义

window.onload=function(){
        //函数的调用
        fcName();
        fc1();
        var num=fc2(10,20);
        fc3();
        fc4();
    }
    //函数的参数列表 相当于函数入口;return 相当于函数出口
    /*1.function 语句式
      特点:a.创建一次存储在内存中,每次使用从内存中取,效率高
            b.js 解析器会优先解析然后存储在内存中,使用时直接取内存中的(优先解析)
            c.具有函数作用域
    */
    function fcName(){
       alert("function 语句式");
    }
    /*2、函数的直接量式(ECMAScript推荐)
      特点:a.创建一次存储在内存中,每次使用从内存中取,效率高
            b.js 解析器 只是声明了变量fc1 并没有给其赋值 ,只用当程序运行到这里时才会赋值(顺序解析)
            c.具有函数作用域
    */
    var fc1=function(){
        alert("函数的直接量式");
    } 
    /*
      3.Function 构造函数式
      特点:a.每次创建使用后就会销毁 不占用内存但每次使用都要创建 所以效率低
            b.js 解析器 只是声明了变量fc2 并没有给其赋值 ,只用当程序运行到这里时才会赋值(顺序解析)
            c.顶级作用域
    */
    var fc2=new Function("a","b","return a+b;");
    var fc3=new Function("alert(‘构造函数式‘)");
    //三种函数的作用域
    var m=0;
    function fc4(){
        var m=1;
        function fc5(){
            alert(m);// 1
        };
        var fc6=function(){
            alert(m);// 1
        }
       var fc3=new Function("return m;");
       fc5();
       fc6();
       alert(fc3());// 0
    }

二、函数的参数

<script type="text/javascript">
    window.onload=function(){
        fc1(10,20);
    }
    /*
      在js中形参个数可以与实参个数不同
    */
    function fc1(a,b,c){
        var length=fc1.length;//获得形参个数 (不建议使用)
        /*
         arguments 的对象可以访问函数的实际参数(只能在函数内部使用)
        */
        var length2=arguments.callee.length;//获得形参个数(arguments.callee 指向函数本身)
        var args=arguments.length;//实际参数的个数
        var arg1=arguments[0];//获得第一个实际参数
        //在实际开发中我们会先判断参数个数是否相同再执行代码
        if(arguments.callee.length===arguments.length){
           return a+b+c;
        }else{
            return ‘参数不正确‘;
        }
    }
    </script>

三、this 关键字

四、call、apply关键字

五、执行环境、作用域链

六、垃圾收集、块级作用域

七、closure 闭包

js 函数

标签:

原文地址:http://www.cnblogs.com/jalja/p/4865170.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!