javascript - 声明的功能不起作用

标签 javascript jquery

我的 switchTurns 函数在我将其编写为如下函数时无法正常工作:

function switchTurns (player){
  if (player == 'X'){
    player = 'O';
  } else {
    player = 'X';
  }
}

但是,当我只写声明中的内容时,它起作用了:

if (player == 'X'){
  player = 'O';
} else {
  player = 'X';
}

这是我使用它的地方:(当我使用注释部分时它有效)

var turn = 'X';

$('.xo-btns').click(function(){
  if (against != 'PC'){
    show(this, turn, board);
    // someoneWon(board);
    switchTurns (turn);
    // if (turn == 'X'){
    //   turn = 'O';
    // } else {
    //   turn = 'X';
    // }
  }
});

如何使该功能正常工作?

最佳答案

您正在更改您调用的函数的局部变量,player。因此,当您在函数中调用它时,它会更改播放器,但一旦您离开该函数,该值就会被丢弃。当您在外部方法中调用它时,实际上是在更改变量 turn。

关于javascript - 声明的功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43444719/

相关文章:

javascript - 在哪里可以找到等宽希伯来字符字体

javascript - jquery - 根据 json 值设置选择选项

javascript - 创建和调用 jQuery 插件

jquery - Nivo slider 仅延迟第一张图像

javascript - 模糊 div 标签后面的所有对象(图像、div、文本..)

javascript - 是否可以使用 JavaScript 重新加载特定的浏览器选项卡?

javascript - 如何在ckeditor中定义列

javascript - 如何在 Pylons 中翻译 javascript 文件

javascript - 在另一个应用程序中包含 Angular 组件

javascript - 如何: Print Select Option Values?