Javascript - 修改函数内的全局变量

Javascript - modifying global variable inside function

本文关键字:全局变量 函数 修改 Javascript      更新时间:2023-09-26

我在函数内部修改全局变量时遇到问题。据我所知,direction不仅应该是我在函数中设置的,而且还应该在全局范围内保留该值,但事实并非如此。

请考虑以下代码:

<script type="text/javascript">
  var direction;
  $(document).ready(function() {
    $('#players_previous a').on('click', function() {direction = 'prev'; console.log(direction);});
    $('#players_next a').on('click', function() {direction = 'next'; console.log(direction);});
  });
</script>

单击按钮时,console.log();返回undefined 。如果我尝试从 Chrome 开发人员工具控制台访问direction,它会返回undefined .我做错了什么?

这似乎工作得很好。问题出在我的代码中的其他地方。JSFiddle

.HTML:

<ul>
    <li id="players_previous"><a href="#">Previous</a></li>
    <li id="players_next"><a href="#">Next</a></li>
</ul>

.JS:

var direction;
$(document).ready(function () {
  $('#players_previous a').on('click', function () {
    direction = 'prev';
    alert(direction);
  });
  $('#players_next a').on('click', function () {
    direction = 'next';
    alert(direction);
  });
});