[英]Problem accessing global variable in javascript
我正在研究谷歌地图,我需要创建一系列项目。 这是我的伪代码:
<script>
var myvar=new array();
function initialize(){
for i=1 to 10
{
callAnotherFunct(i);
}
access myvar() here;
}
function callAnotherFunct(i){
myvar=array_element_i;
}
</script>
我期望 myvar 表现为全局变量,但事实并非如此。 我无法在 initialize() 中获取 myvar 的任何值。
我在这里做错了什么?
伪schmeudo。
var myvar = [];
function initialize(){
for (var i=0; i < 10; i++)
{
callAnotherFunct(i);
}
alert(myvar[0]);
alert(myvar[9]);
}
function callAnotherFunct(i){
myvar[i]=i + 'pseudo-schmeudo';
}
initialize();
小提琴: http://jsfiddle.net/AKKHB/
好像没问题
使用伪代码很难判断您可能做错了什么。
我已经对您的代码进行了伪处理,并且工作正常:
var myvar=new Array();
function initialize(){
for (i=1; i < 10; i++)
{
callAnotherFunct(i);
}
alert(myvar);
//access myvar() here;
}
function callAnotherFunct(i){
myvar.push(i);
}
当您调用 initialize() - 它会以 1,2,3,4,5,6,7,8,9 发出警报
希望有帮助
我不确定您要完成什么,但我能够进行一些修改并能够在此示例中访问全局变量: http://jsfiddle.net/pKU6A/
var myvar=new Array(); //Array should be uppercase
function initialize(){
for (var i=1; i < 10; i++) //incorrect for loop syntax
{
callAnotherFunct(i);
}
alert(myvar);
}
function callAnotherFunct(i){
myvar[i] = i; //local variable was not defined and index of array must be assigned
}
initialize(); //needed to call global function to kick it off
window.myvar = []; // don't use new Array()
function initialize(){
for i=1 to 10
{
callAnotherFunct(i);
}
//window.myvar or myvar here should work
}
我猜这是一个命名空间问题。 做这样的事情
window.project = window.project || {};
project.vars = project.vars || {};
Then you will have a namespace declaration, so you can do
project.vars.myVar = new Array();
这是我唯一能想到的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.