Javascript局部变量变成全局变量

Javascript local variables into global variables

本文关键字:全局变量 局部变量 Javascript      更新时间:2023-09-26

我尝试了其他几个主题中提出的解决方案,但由于某种原因,它不适合我

$(function() {
$('.talk').live('click', 'button', function()
{
var user1 = $(this).val();
var user2=$(this).prev().val();
window.user=user1;
window.recipient=user2;
})
})

(…)

console.log(window.user);
var refresh = setInterval(function(){ myTimer() }, 1000);
function myTimer() {loadchat(window.user,window.recipient);
}
function myStopFunction() {clearInterval(refresh);}

我需要函数loadchat来接收参数user1和user2,但是它们被限制在我粘贴在这里的第一个函数中。我读到如果我使用窗口。User1 =它将工作,但它不会。

现在的方式是,console.log(window.user)将返回"undefined"(我也尝试过只是"user"而不是window.user)

在函数外定义全局值

<script>
var globalVariable;
function()
{
   globalVariable = $(this).val();
}
</script>
关于你的问题,我的理解是这样的您需要一种方法来存储用户和收件人

你可以使用

$(function() {
$('.talk').live('click', 'button', function() {
   var user1 = $(this).val();
   var user2=$(this).prev().val();
   localStorage.setItem("User", user1);
   localStorage.setItem("recipient", user2);
  })
})

可以使用函数检索数据localStorage.getItem("User");

,但这是有问题的,因为关闭TAB后数据将留在内存中要解决这个问题,您需要使用sessions vars

sessionStorage.setItem("User", user1);
sessionStorage.getItem("User");