JavaScript学习--函数

来源:互联网 发布:四川大学网络学费多少 编辑:程序博客网 时间:2024/06/06 05:21
/***************函数*****************/
        /*function getArea(r){
        return Math.PI*Math.pow(r,2);
        }
        alert(getArea(2));*/
       
        //求三个数的最大值
        /* function getMax (a,b,c) {
        return (a>b?a:b)>c?(a>b?a:b):c;
        }
        alert(getMax(1,2,3));
        alert(getMax(1,2));//输出undifined*/
        //总结:在JavaScript中实参的个数可以和形参的个数不一致
        
        /*function f1 (a,b) {
        return a+b;
        }
        function f1 (a,b,c) {
        return a+b+c;
        }
        alert(f1(1,2));//输出NaN,这是因为第二个把第一个函数覆盖了*/
        //所以在JavaScript中不允许出现同名函数,因为在JavaScript中没有重载的概念
        
        //JavaScript中两种定义函数的方式
        //第一种方式
        /*function fn (a,b) {
        return a+b;
        }
        //第二种方式
        var f=function(a,b){
        return a+b;
        }
        alert(f(1,2));*/
       
        //不使用var声明的变量为全局变量,一般不推荐使用
        //注意:在JavaScript中没有块级作用域
        /*for (var i=0;i<10;i++) {
       
        }
        alert(i);*/
        
        //面试题 --变量提升和函数提升
        /*var num=10;
        fun();
        function fun () {
        alert(num);//输出undifined
        var num=20;
        }*/
        //解析器解析过程如下:
        /*var num;
        function fun () {
        alert(num);//输出undifined
        var num=20;
        //alert(num);//输出undifined
        var num;
        alert(num);
        num=20;
        }
        num=10;
        fun();*/
        /*var a=10;
        f();
        function f () {
        var b=9;
        alert(a);//输出undifined
        alert(b);//输出9
        var a="";
        }*/
        //总结:预解析--全局作用域:先找到var、function和参数
        //找到var和function之后,会把var和function提前
        //然后再从上到下一行一行执行代码
        
        /*f();
        alert(c);
        alert(b);
        alert(a);
        function f () {
        var a=b=c=9;//注意a为局部变量,b、c为全局变量
        alert(a);
        alert(b);
        alert(c);
        }*/
       
        /*alert(f(1,2));//报错:f is not function!
        var f=function(a,b){
        return a+b;
        };
        alert(f(1,2));//正常输出*/
        //自调用函数:只执行一次
        /*(function(){
        alert("hello");
        })();*/
        
        //总结:关于函数返回值的问题
        //1.如果return后面没有跟内容,返回undifined,return后面的代码不会执行
        //2.如果函数内部没有写return,返回undifined

        //3.建议每一个函数都设置返回值


       //注意:函数也是一种数据类型--function
        /*var f=function(a,b){
        return a+b;
        };
        alert(typeof f);//输出function
        alert(typeof f());//输出为number
        alert(typeof f(1,2));//输出为number*/

原创粉丝点击