これは非常に単純である必要がありますが、私はこれにあまりにも長く取り組んでおり、関連する答えがどこにも見つかりません。
本当に簡単です。
私のコードが次のような場合:
/* functionsAndStuff.js */
var x = [ [1,2], [3,4] ];
function doStuff(){
var value = x[0][0];
return value; //BROKEN
}
何も起こりません。一方、このコードは問題なく動作します。
/* functionsAndStuff.js */
function doStuff(){
var x = [ [1,2], [3,4] ];
var value = x[0][0];
return value; //returns 1
}
doStuff() 関数は、別のページである index.html に値を返します。index.html は、関数を使用して独自の処理を行います。
それを変更してこれを行うと、それが機能します:
/* index.html */
var x = [ [1,2], [3,4] ];
/* functionsAndStuff.js */
function doStuff(){
var value = x[0][0];
return value; //returns 1
}
index.html でマトリックスを定義するだけで問題は解決すると思いますが、それは少しずさんな解決策です。
空から始まる別の配列があります。この配列は、後で文字列を分割することによって設定されます。このアレイは完全にアクセス可能です。しかし、手動で入力されている (つまり、ハードコードされている) x 配列にまったくアクセスできません。