Function类型

函数实际上是对象。每个函数都是Function类型的实例。

首先是它有一种很奇怪的写法。


var test = new Function("n1","n2","return n1 + n2");

console.log(test(1,2));//3

函数

apply()

接受两个参数,一个是在其中运行函数的作用域,另一个是参数数组。第二个可以说Array的实例,也可以是argument对象。

function lin(n1,n2){
  return n1 + n2;
}

function b(){
  var n1 = 1;
  var n2 = 2;
  return lin.apply(this,[n1,n2]);
}
console.log(b());//3

call()

接受两个参数,一个是在其中运行函数的作用域,另一个是参数数组.传递给函数的参数必须逐个列举出来。


function lin(n1,n2){
  return n1 + n2;
}

function b(){
  var n1 = 1;
  var n2 = 4;
  return lin.call(this,n1,n2);
}
console.log(b());//5