0
我有一個執行Facebook身份驗證的第三方庫,我需要將它傳遞給回調處理程序。這工作正常,但在回調函數中,它不能設置對象的其他參數。將JavaScript函數傳遞給對象內的其他函數失去對象變量作用域
我創建了這個簡單的測試,並且需要幫助來理解爲什麼第三種情況不起作用,以模擬我的應用中發生了什麼。
const Test = {
uid: null,
test() {
this.testAgain(this.updateUID);
},
testAgain(updater) {
updater(7);
},
updateUID(id) {
this.uid = id;
}
};
alert(Test.uid); // expect null, got null
Test.updateUID(3);
alert(Test.uid); // expect 3, got 3
Test.test();
alert(Test.uid); // expect 7, got 3 ???
我很欣賞關於如何讓第三種情況起作用的建議。我必須將函數傳遞給Facebook auth庫,當FB調用該函數時,它需要能夠更新對象的參數。
這工作。謝謝。我會在5分鐘內接受答案。 –