方法调用模式,做为对象的一个方法调用,此时this绑定到对象。 数组
函数调用模式, this绑定到全局对象。 app
构造器调用模式,使用new关键字,此时将建立一个隐藏的链接到该函数的prototype成员的新对象,同时this也被绑定到那个新对象上。 函数
apply调用模式,apply方法让咱们构建一个参数数组并用其去调用函数,它也容许咱们选择this的值。
apply接收两个参数,第一个是将被绑定到this的值,第二个就是一个参数数组。 this
//构造一个包含两个数字的数组,并将他们相加 var array = [3,4]; var sum = add.apply(null,array); //sum 值为7 //构造一个包含status成员的对象。 var Quo = { get_status = function(){ return this.status; } } var statusObject = { status:'A-ok'; } var status = Quo.prototype.get_status.apply(statusObject);