2016-07-08 24 views
0

私のアンドロイドアプリケーションからint配列を送信していますが、JSで非常にうまく受信されましたが、配列をグローバル変数に代入していますが、変数は常に未定義です。未定義のjavascriptグローバル変数

var values; 
    function getFromAndroid() { 

     alert(Android.getFromAndroid()); 
     this.values = Android.getFromAndroid(); 
     this.values = JSON.parse(this.values); 
     alert("Hello! Data are: " + this.values + "; first = " + this.values[0]); //not null 

     } 

     var chart; 
    alert("Hello!: " +this.values[0]); //undefined 
+2

関数を呼び出すしていないので、値は – AxelH

+0

を初期化されることはありません、私はオンロード(それを呼んでいる) –

+0

あなたが前に* 'values'を使用しようとしている*それが満たされたのです非同期でリンクされた質問とその回答を参照してください。短いバージョン: 'getFromAndroid'からコードを使用してトリガーします。 –

答えて

0

このキーワードは、他の言語よりもjavascriptの動作が異なります。それは、グローバル変数ではなく、ローカル変数を参照します。このコードスニペットは、私が推測する疑問をクリアします。

var globalVar ; 
 

 
function a() { 
 
    this.globalVar = 30; 
 
    globalVar = 40; 
 
} 
 

 
var obj = new a(); 
 

 
console.log(obj.globalVar + "\t" + globalVar);