0

私は完全にうまく機能する次のjavascriptを持っています(jqueryで):

function(test) {            
        var neuroimages = viewer.loadImageFromJSON('../data/new/res_neg_subj_val_5.nii.json', 'neg_subj_val_5', 'hot and cold');
        return neuroimages;
    };

pictureここで、代わりに変数を使用して (たとえば、 ) '../data/new/res_neg_subj_val_5.nii.json', 'neg_subj_val_5', 'hot and cold'、それに応じてコードをフォーマットします。

function(test) {
                 picture = "'../data/new/res_neg_subj_val_5.nii.json', 'neg_subj_val_5', 'hot and cold'";   
                 neuroimages = viewer.loadImageFromJSON(picture);
                 return neuroimages;
                };

これは機能しませ

これもありません:

function(test) {
                 pic1 = "'../data/new/res_neg_subj_val_5.nii.json', 'neg_subj_val_5', 'hot and cold'";  
                 pic2 = "'neg_subj_val_5'";
                 pic3 = "'hot and cold'";
                 neuroimages = viewer.loadImageFromJSON(pic1, pic2, pic3);
                 return neuroimages;
                };

私はそこで何が間違っていますか?私はグーグルといくつかのサイトを試しましたが、成功しませんでした。言うまでもなく、私はJavaの初心者であり、すでに狂気に近いです。

4

2 に答える 2

1

ここで配列を初期化しようとしていますが、代わりに文字列が必要です。これを変更してみてください:

picture = "'../data/new/res_neg_subj_val_5.nii.json', 'neg_subj_val_5', 'hot and cold'";

に:

picture = "'../data/new/res_neg_subj_val_5.nii.json';

文字列ではなく、viewer.loadImageFromJSON() が配列を受け入れることができるかどうかを指定していません。可能であれば、次のようなことができます。

picture = ['../data/new/res_neg_subj_val_5.nii.json', 'neg_subj_val_5', 'hot and cold'];

Javascript で配列を初期化する方法については、こちらをご覧ください: http://www.w3schools.com/js/js_obj_array.asp

この問題に関する詳細情報が必要な場合は、loadImageFromJSON() のコードを添付してください。これにより、この関数が入力と出力をどのように処理するかがわかります。

于 2013-05-21T14:56:23.683 に答える
1

2 番目の例はほぼ正しいです。ここでは、変数ごとに 1 つのデータのみを指定する必要があります (少なくともあなたのケースでは、配列やオブジェクトなどの単一の変数で多くのデータを指定する方法があります)。また、各文字列を 1 組の引用符で囲むだけで済みます (一致する限り、それらが一重引用符であるか二重引用符であるかは関係ありません)。また、変数をグローバルにしたい場合を除き、変数の前に「var」キーワードを付けます。

function(test) {
  var pic1 = "../data/new/res_neg_subj_val_5.nii.json";  
  var pic2 = "neg_subj_val_5";
  var pic3 = "hot and cold";
  neuroimages = viewer.loadImageFromJSON(pic1, pic2, pic3);
  return neuroimages;
};

3 つの異なる変数を必要とする関数に配列を渡すため、最初の試行を機能させるのは少し難しくなります。次のようにします。

function(test) {
  var picture = ['../data/new/res_neg_subj_val_5.nii.json', 'neg_subj_val_5', 'hot and cold'];   
  neuroimages = viewer.loadImageFromJSON.apply(viewer, picture);
  return neuroimages;
};
于 2013-05-21T14:53:02.180 に答える