所以我想写一个函数来改变输入参数。经过一番谷歌搜索后,我了解到javascript与C ++不同,我不能轻易通过引用传递。但是将反映对象参数字段的变化。因此,以下是我的尝试。
let message_wrap = { str: encrypted_message };
decrypt(message_wrap);
let decrypted_msg = message_wrap.str;
function decrypt(message_to_decrypt_wrapper) {
let xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState === 4 && this.status === 200) {
message_to_decrypt_wrapper.str = this.responseText;
alert(message_to_decrypt_wrapper.str);
}
};
xmlhttp.open("POST", "decrypt.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("msg=" + message_to_decrypt_wrapper.str);
}
警报框实际上提供了解密的消息!但是,decrypted_msg变量不是。发生了什么!!!!