Javascript(函数)



一、函数的声明
声明式
    
    function functionName(){  
  
    }

表达式

    var functionName = function(){  

    };   

对象、构造

    var functionname = new function(); 
二、函数的调用
-    functionname();

    变量(声明式函数)的声明会被提升到作用域的最前面,即使写代码的时候是写在最后面,也还是会被提升至最前面。    

    多次声明同一个函数时,后面会覆盖前面的声明。

-    形式参数和return
    
     function a(x,y) {

        return x + y;  //返回值

    }
    
    x,y是形式参数。

-    立即执行调用的表达式(匿名函数)

    1.(function(){}());
    
    2.(function(){})();

三、函数的作用域(变量存在的范围)
    1、全局作用域
    2.局部作用域(函数作用域)

-    function 内部可以访问外部的变量,外部不能访问内部声明的变量

-    在本作用域里没有找到相应的变量时,会跳至上一级作用域继续寻    找,再赋值。

    function fn(){

        a = 1;

    }

    fn();

    console.log(a);

    此时可以访问函数内部的变量,因为a = 1是个全局变量。如果是var a = 1则不能访问,是局部变量。

                                        
    var fn = function (){

        console.log(2);

    }

    fn(1);

                                            
     function fn(){

        console.log(1);

    }
    
    此时输出值为2,函数内部使用声明的时候已经确认了变量的作用域

四、参数值的传递

-    针对原始数据类型,是将它的值传入内部

    var a = 1;

    function foo(x) {

     a = 3;

    }

    foo(a);

    console.log(a);
    
    此时输出为1,var a = 1,是个数字类型,所以将值传入function内部,不受其内部 a = 3的影响。

-    针对引用数据类型,传递的是它的地址;
    
    var b = [1,2,3];

    function foo(x) {

    b = [4,5,6];

    }

    foo(b);

    console.log(b);
     
    此时输出为[4,5,6],数组是个对象类型,属于引用类型,引用类型是将它的地址传入内部,内部赋值让它形成一个新数组。

五、属性
    1.name 
    声明式函数中的函数名
    2.length
    返回函数的参数个数
六、 arguments (指向实参对象的引用)
    function fn(){
    console.log(arguments[0] + arguments[1] + arguments[2])
    }
    fn(3,5,9)
    输出为17,arguments[0] = 3;arguments[1] = 5;arguments[2] = 9;
     arguments是一个存放实参的对象,和数组表现形式一样,但不是数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值