[英]Get the bound execution context of a javascript function
讓我們假設這個JavaScript代碼
function a (b,c,d) {log(this); return b+c+d;}
a(1,2,3); // logs [Object Window], returns 6
bound = a.bind("hello", 5,6);
bound(7); // logs "hello", returns 18
現在給定函數bound
(例如作為回調),有沒有辦法檢索綁定的上下文-即“ hello”,5、6?
雖然我沒有看到直接從函數讀取綁定上下文的方法,但是可以使用它(作為另一個函數的執行范圍)。
/**
* @param {function} toBeCalled
* @param {function} preBound
* @param {array} args
*/
function callOnBoundScope(toBeCalled, preBound, args) {
toBeCalled.apply(preBound, args);
}
函數preBound
將僅提供其范圍,而不會被自身調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.