我需要在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()
控制台日志中没有错误。有什么问题?
答案 0 :(得分:0)
我的猜测(没有完全看到代码)是facebook代码被包装在一个立即调用的函数中,因此变量被提升到该函数的顶部而不是窗口,所以它实际上是两个不同的变量
如果你真的希望它是全局的(通常不是最好的),你可以明确地将它添加到窗口,即。
window.not_logged_show_wall = false;
else{
alert();
window.not_logged_show_wall = true;
}