如何在不全局延迟的情况下将变量传递给jQuery中的另一个事件处理程序?

时间:2019-03-21 19:54:25

标签: jquery

我下面有这些代码

$('#first').click(function() {
    var TEST = 5;
    console.log(test)
})

$('#second').click(function() {
    console.log(test)
})

这似乎是一个奇怪的问题,但是有什么方法可以将TEST的值从上到下传递然后使用它。

注意:在这种情况下,我不想使用全局变量

预先感谢

2 个答案:

答案 0 :(得分:0)

您可以创建一个iife并在闭包中共享变量。只需用代码将代码包装起来,然后将变量声明移到两个函数之外

(function(){
  var test;
  $('#first').click(function() {
      test = 5;
      console.log(test)
  })

  $('#second').click(function() {
    console.log(test)
  })
})();

答案 1 :(得分:0)

您也可以使用浏览器的local storage

$('#first').click(function() {    
    localStorage.setItem('TEST', 5);
    console.log(localStorage.getItem('TEST'));
})

$('#second').click(function() {
    console.log(localStorage.getItem('TEST'));
})