JS错误。变量布尔值未更改

时间:2017-01-18 17:08:43

标签: javascript jquery facebook

我需要在Facebook API事件上实现jQuery代码。 Facebook API代码必须放在html代码之前,而且不在jQuery函数内部,调用jQuery函数将是anonymous function,所以我决定创建全局变量,其true值将调用该函数。问题是变量的值没有改变,因为alert()函数在代码的相同位置工作。

变量在脚本打开后的代码顶部定义

  var not_logged_show_wall = false;

因此作为Facebook API的一部分,其中还有其他条件和警报,但变量的值不会更改

 else{
    alert();
    not_logged_show_wall = true;
}

我检查了html代码之后js代码中的其他警报没有改变(而代码更高的是之前的代码)。同样用$(document).ready()

尝试了同样的事情

控制台日志中没有错误。有什么问题?

1 个答案:

答案 0 :(得分:0)

我的猜测(没有完全看到代码)是facebook代码被包装在一个立即调用的函数中,因此变量被提升到该函数的顶部而不是窗口,所以它实际上是两个不同的变量

如果你真的希望它是全局的(通常不是最好的),你可以明确地将它添加到窗口,即。

window.not_logged_show_wall = false;
else{
    alert();
    window.not_logged_show_wall = true;
}