判断类型 typeof(),函数也是一种数据的类型。 函数是可以嵌套定义的,尽量不要这么嵌套函数。
三种函数的定义
function语句式
占用内存,但是声明一次随时可以调用对于函数式的语句js会优先进行解释,调用可以在函数定义之前 function test1(){ alert("test1"); } // test1();函数的直接变量
不占用内存,调用完了即销毁了,调用一次时最好使用这样的动态的方式直接变量的这样的形式,只能放到函数定义之后调用,虽然也用test2进行声明了,但是没有进行赋值,只有当编译器执行到这个函数赋值的行数的时候才会进行赋值,把function赋值给test2 var test2 = function() { alert('test2'); }构造函数式
var test3 = new Function("a" , "b","return a + b;"); alert(test3(10,20));在js中,先会读取function语句,然后是变量的函数定义,当存在同名的函数调用的时候,会覆盖之前的函数,js中允许同名的函数存在。
构造函数式的函数,具有一个顶级的作用域
var k = 1; function t1(){ var k =2; var test = new Function('return k;'); } t1(); //返回的结果是1不是2new 一个函数的时候,相当于在全局new了一个函数,找的是全局的变量。
函数的实际参数,内部是用数组来接受的,arguments.length 对象可以访问函数的实际的参数。
arguments对象一般用于递归的操作: arguments.callee指的函数本身
