开发者问题收集

如何在事件中获取 JavaScript 中的变量值?

2015-03-12
160
(function(){
   $("#btn1").on("click",function(){
       var myval = 123;
       console.log(myval);
   });
   $("#btn2").on("click",function(){
       console.log(myval);
   });
})();

如何在 #btn2 事件上获取 myval 的值。(获取错误 Uncaught ReferenceError:myval 未定义)

2个回答

您需要在共享范围内声明 myval ,以便可以从第二种方法访问该变量。

在当前代码中,变量 myval 是声明它的第一个回调的本地变量,因此它不会存在于该函数的范围之外。

(function(){
   var myval;
   $("#btn1").on("click",function(){
       myval = 123;
       console.log(myval);
   });
   $("#btn2").on("click",function(){
       console.log(myval);
   });
})();

演示: Fiddle

Arun P Johny
2015-03-12

在 click 事件函数外声明 var myval。要了解有关 javascript 中变量范围的更多信息,您应该阅读 w3schools

(function(){
  var myval;

 $("#btn1").on("click",function(){
      myval = 123;
      console.log(myval);
  });

  $("#btn2").on("click",function(){
      console.log(myval);
  });

 })();
Nishit Maheta
2015-03-12