1

これは非常に単純である必要がありますが、私はこれにあまりにも長く取り組んでおり、関連する答えがどこにも見つかりません。

本当に簡単です。

私のコードが次のような場合:

/* 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 配列にまったくアクセスできません。

4

1 に答える 1

2

リストした最初の機能は、少なくとも FF16 では正常に動作します。

var x = [ [1,2], [3,4] ];
function doStuff(){
    var value = x[0][0];
    return value; //BROKEN
}

alert(doStuff()); //returns 1

例: http://jsfiddle.net/UD8Zs/

于 2012-12-01T08:21:34.837 に答える