我对代码中变量的范围有疑问
var ButtonPressed; //global SCOPE
$(document).ready(function()
{
function messageAlert()
{
$('#buttons').append('<input type="button" id="btn" value="Clickme" />');
return false;
}
messageAlert();
$('#btn').on("click", function()
{
ButtonPressed = 1;
});
}); //end document
//// UNDEFINED NOT WORKING
if (ButtonPressed === 1)
{
alert(ButtonPressed);
}
我尝试了有关范围教程的所有内容,但无法显示变量 ButtonPressed=1
GLOBAL。
有什么帮助吗?
最佳答案
您将点击事件绑定(bind)到按钮#btn
,以设置全局变量ButtonPressed
,除非您单击该按钮,否则该变量不会被触发。
当您的代码执行并到达 block (位于全局范围内)时,知道该按钮尚未被单击
if (ButtonPressed === 1)
{
alert(ButtonPressed);
}
变量 ButtonPressed
将不会被设置,因为您尚未单击该按钮,因此它不会提醒任何消息。
换句话说,if 语句在点击处理程序之前运行
关于Javascript 和 JQuery Dom 全局变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36082597/