函数
1.Function()构造函数 允许我们动态的简历和编译一个函数,不会限制在function语句编译的函数体中。
var f = new Function('x' , 'y' , 'return x*y');
2.函数直接量,是一个表达式,他可以指定函数名
var f = function fact(x){ return x*x};
3.arguments 不是真正的数组,他是一个Arguments 对象,每个Arguments 对象定义了带编码的数组元素和length 属性。
4. Arguments 对象属性callee ,用来引用当前正在执行的函数。对未命名的函数调用自身很有用。
function (x){ if(x<=1){ return 1} else{ return x * arguments.callee(x-1); } }
5.apply() ,call() 第一个参数都是要调用的函数的对象,在参数体内关键是this的值。
call () -----》 f.call(o , 1 ,2 );
apply() -----》 f.call(o , [1 ,2] );