javascript - 更新特定变量

标签 javascript

function winners() {
updating = true;
if (mm == "Best of 3") {
    var wygrany = (s1 == "2")? 'left' : 'right';
    return true;
}
if (mm == "Best of 5") {
    var wygrany = (s1 == "3")? 'left' : 'right';
    return true;
}
if (mm == "Best of 7") {
    var wygrany = (s1 == "4")? 'left' : 'right';
    return true;
}
return false; }

这是应该决定我的 var wygrany = 'left' 还是 'right' 的代码。

function runUpdate() {
if (timeOld == timeNew) return;

if (winners == true) {
        updating = true;
            setTimeout(function(){
                    $('.team.center .name').set('$', '-flipInY +fadeOut');
                    if(wygrany == "left") {
                        $('.team.right').set('$', '+animated +fadeOutDown');
                        $('.team.left').set('$', '+winner_show');
                        $('#ww').set('$', '-hidden +fadeIn');
                        $('.bg_winner').set('$', '-hidden +fadeIn');
                    } else {
                        $('.team.left').set('$', '+animated +fadeOutUp');
                        $('.team.right').set('$', '+winner_show');
                        $('#ww').set('$', '-hidden +fadeIn');
                        $('.bg_winner').set('$', '-hidden +fadeIn');
                    }
            updating = false;
        }, 1000);
}

这是负责显示的部分。尽管代码不起作用,但我的函数获胜者始终返回“true”,然后脚本停止。这可能是语法错误,但我找不到它。

最佳答案

您遇到范围问题。您在函数作用域内声明 var wygrany ,任何不驻留在该作用域内的作用域都无权访问。

//outside scope
var wygrany = '';

function winners() {
updating = true;

if (mm == "Best of 3") {
    wygrany = (s1 == "2")? 'left' : 'right';
    return true;
}
if (mm == "Best of 5") {
    wygrany = (s1 == "3")? 'left' : 'right';
    return true;
}
if (mm == "Best of 7") {
    wygrany = (s1 == "4")? 'left' : 'right';
    return true;
}
return false; }

然后您就可以在任何地方访问它。您还需要做:

if (winners() == true) {

不确定winners是否也是一个变量?令人困惑的是你如何拥有它,但如果这就是你的意图,你必须添加 () 来进行函数调用。

我不知道为什么它会“总是返回 true”,但似乎该函数甚至没有被调用,因为您没有调用函数 winners()。但是解决这些问题,如果您仍然遇到问题,我们可以了解为什么它总是返回 true。

检查开发人员工具,您会在控制台调试器中看到这些错误。

关于javascript - 更新特定变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45497784/

相关文章:

javascript - 日期 - 每天的特定时间,特定时区

javascript - 使用 Firefox 扩展显示 'Hello World'

javascript - tickSize d3.js v4 中的源代码

javascript - 如何在javascript中监 window 口选择更改事件

java - 在 Java 8 Nashorn JavaScript 引擎中并发加载脚本是否有意义

javascript - 重新加载后字体大小发生变化

javascript - 解释 Javascript 中闭包的输出

Javascript:无法表示正弦图

javascript - 使用javascript获取JSON中真实值的计数

javascript - jQuery - 排除被单击元素的父元素