繁体   English   中英

在JavaScript中访问全局变量时出现的问题

[英]Issue while Accessing a Global variable in Javascript

我无法在第二个函数中访问NatArray [],并且第二个函数中的u4count变为0。可能是什么原因?

<script type="text/javascript">

var NatArray = [];
var NatArrayloc = [];
var u4count = 0;

function Check1()
{
NatArray[0] = 202116108;
NatArrayloc[0] = 202116109;
NatArray[1] = 202116111;
NatArrayloc[1] = 202116112;
NatArray[2] = 202116113;
NatArrayloc[2] = 202116114;
u4count = 3;
}
function Check()
{
 alert("coming here" + u4count + "natentry" + NatArray[0] );
}
</script>

提前致谢

像我期望的那样为我工作。 在这种情况下,调用函数的顺序 很重要

var NatArray = [];
var NatArrayloc = [];
var u4count = 0;

function Check1() {
    NatArray[0] = 202116108;
    NatArrayloc[0] = 202116109;
    NatArray[1] = 202116111;
    NatArrayloc[1] = 202116112;
    NatArray[2] = 202116113;
    NatArrayloc[2] = 202116114;
    u4count = 3;
}

function Check() {
    alert("coming here " + u4count + " natentry " + NatArray[0]);
}

Check1();
Check();

正如一些回答用户所指出的那样,未公开的内联注释不好,但不是造成问题的原因。 关于内联代码的注释

http://fiddle.jshell.net/r8sKf/

您可以在window.onload调用这2个函数,因此它将调用第二个函数,并且还会在alert中调用alert和NatArray[ ]值。

尝试这样的事情:

var NatArray = [];
var NatArrayloc = [];
var u4count = 0;

function Check1() {
    NatArray[0] = 202116108;
    NatArrayloc[0] = 202116109;
    NatArray[1] = 202116111;
    NatArrayloc[1] = 202116112;
    NatArray[2] = 202116113;
    NatArrayloc[2] = 202116114;
    u4count = 3;
}

function Check() {
    alert("coming here " + u4count + " natentry " + NatArray[0]);
}

 window.onload=function(){
        Check1();
        Check();
    };

干得好:

http://jsfiddle.net/R23eD/

您需要从脚本开始中删除 <!-- 而且您也没有调用 Check1()函数来初始化值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM