全局变量JavaScript(更改值)

1 javascript global-variables variable-assignment

是否可以在JavaScript中更改全局变量的值?

如果是这样,是否可以在事件监听器调用的函数中执行此操作,例如"onreadyStateChange"?

它适用于正常功能.但是当我调用这样的函数时不会改变:

<script.......>
    var dom1 = 3;

    function work()
    {
        ...
        http.onreadyStateChange=handleHttpResponse;
        ...
    }

    function handleHttpResponse()
    {
        var xd;
        if (http.readyState == 4)
        {
            if (http.status == 200)
            {
                if (http.responseText == "granted")
                {
                    dom1 = 1;
                }
                else
                {
                    dom1 = 2;
                }
            }
            else
            {
                alert("Error");
            }
        }
    }
</script>
Run Code Online (Sandbox Code Playgroud)

out*_*tis 7

您可以在JS,本地或全局中更改任何变量的值.在函数中,请确保不声明具有相同名称的局部变量,并且可以访问全局变量.即使您确实声明了本地,也可以访问全局作为属性window.您也可以更改大多数属性; JS或DOM中的不可变数据类型非常少.

如果你希望一个变量没有被设置,你可以使用Firefox和萤火虫调试代码,并观察所发生的事情.


小智 5

请使用 window['dom1'] = xxx; 而不是 var dom1 = xxx;