我有兩個模塊,並且在第一個模塊中聲明瞭一個對象,因爲我知道基元是通過java腳本中的值傳遞的和對象的引用。我想從請求中獲取響應狀態,並將對象作爲參考傳遞,以便我可以修改它的屬性。問題在於它沒有做任何事情。最後,值會是一樣的。在java腳本中更改函數內部某個對象的屬性值不起作用,因爲它應該是
//this code is in a different module from the other one
var variableToBeChanged = { something : "Initial value" };
anotherModule.changeValue(variableToBeChanged);
alert(variableToBeChanged.something);
//and in the other module I have a $.ajax and I want to get the response status(ex. 200)
//the code is sth like this:
function AnotherModule(ajax){
function changeValue(variableToBeChanged){
...
...
...
$.ajax({
...
...
...
success: function(data,xhr){
variableTobechanged.something = xhr.status;
}
});
}
}
最終它將顯示: 「初始值」,而不是200或其他任何東西。 我在這裏做錯了什麼?
的變量被異步改變,所以你必須使用的承諾或回調進入新的價值 –