簡體   English   中英

訪問 javascript 中的全局變量時出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM