我正在使用「調用」方法來觸發一個函數並更改範圍,但是如何在執行此操作後獲取原始範圍?換句話說,如何訪問「基礎」上下文?如何獲得fn.call後的原始上下文?
例如,我打電話「joe」並傳遞「jill」作爲上下文。但是,在「問候」中的第二條警告中,如何訪問「名稱:Joe」變量?
var joe = {
name : "Joe",
greet : function (name) {
alert(this.name + " says hello to " + name);
//Below is wrong. How do I get "Joe"?
alert('Original Joe context name is: ' + this.name);
}
};
var jill = {
name : "Jill"
};
//Outputs "Jill says hello to Mike"
joe.greet.call(jill, "Mike");
下面是本例中的jsfiddle:http://jsfiddle.net/ueeRk/