javascript - 为什么假的不会变成真的?

标签 javascript syntax boolean conditional-statements

我正在开发一款游戏,由于某种原因,这些点击函数不会将顶部值永久更改为 true,我使用控制台日志来测试它,而底部日志总是显示 false。我知道这可能很简单,但有人可以告诉我吗?

var twoThree = false;
var fourFive = false;
var sevenEight = false;

// button click functions
$('#2_3').click(function(){
  twoThree = true;
  $('#start').hide();
  $('#game').fadeIn('slow');
});
$('#4_5').click(function(){
  var fourFive = true;
  $('#start').hide();
  $('#game').fadeIn('slow');
});
$('#7_8').click(function(){
  var sevenEight = true;
  $('#start').hide();
  $('#game').fadeIn('slow');
});
console.log(twoThree);

最佳答案

在函数内部使用 var 会在该作用域内创建一个新变量,因此外部作用域中的值不会更改。

关于javascript - 为什么假的不会变成真的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23998601/

相关文章:

javascript - 值未绑定(bind)在 Angular 自定义单选按钮组件中

syntax - 如何制作跨越多行的haml-coffee 封口?

php - 连接到 5.0 版本 mysql 时出现当前语法错误

javascript - JS 双感叹号——有什么好的理由使用它吗?

javascript - Firebase .get() 与 .once() - 有什么区别?

javascript - 我的事件处理程序在事件触发之前执行,为什么?

javascript - WordPress 联系表单 7 插件作为 AJAX 加载内容的一部分时表现奇怪

syntax - F# 类型错误,有一个缩进级别,而不是另一个

mysql - 如果每个值出现在 MYSQL 的组中,如何为每个值返回 'true/false'?

java - 使用算法和 Rectangle.intersects (java/lwjgl) 的碰撞检测