将Javascript局部变量转换为全局变量

时间:2016-09-06 03:47:50

标签: javascript

我在这里尝试了其他几个主题的解决方案,但出于某种原因,它对我不起作用

$(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,但是它们被限制在我粘贴的第一个函数中。我读过如果我使用window.user1 =它会起作用,但它不会。

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

2 个答案:

答案 0 :(得分:0)

在函数

之外定义全局值
<script>
var globalVariable;
function()
{
   globalVariable = $(this).val();
}
</script>

答案 1 :(得分:0)

我能理解你的问题是这个 你需要一种存储用户和收件人的方法

您可以使用此

$(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");

但这有问题,因为关闭标签后数据将保留在内存中 要解决此问题,您需要使用会话变量

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