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

时间:2015-01-18 23:56:19

标签: javascript

我在修复函数内部的全局变量时遇到问题。根据我的理解,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。我做错了什么?

1 个答案:

答案 0 :(得分:0)

这似乎工作得很好。问题出在我的代码的其他地方。 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);
  });
});