javascript函数自整理

1.定义函数的3种方式:

//1.function语句只会解释一次,并且后面的会覆盖前面的,优先解析
function test1(){
    console.log('test1');
}
test1();

//2.函数直接量只会解释一次,并且后面的会覆盖前面的,顺序解析
var test2=function(){
    console.log('test2');
}
test2();

//3.每次执行每次动态new一次
var test3=new Function("a","b","return a+b;");//顶级作用域,顺序解析
console.log(test3(1,2));

2.函数的参数:

function fun(a,b,c,d){
    console.log(fun.length);//形参个数

    //arguments 对象:可以访问实际参数个数,内部是一个数组,只能在函数内部使用,常用于递归操作
    console.log(arguments.length);
    console.log(typeof arguments);
    console.log(arguments);

    //arguments.callee指向函数自身(fun)
    if( arguments.callee.length == arguments.length ){
        return a+b;
    }else{
        console.log('传参错误!');
    }

}
fun(1,2,3);
原文地址:https://www.cnblogs.com/nlj-blog/p/7425152.html