方法調用模式,做爲對象的一個方法調用,此時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);