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

你对第二个例子几乎是正确的。在这里,您应该只为每个变量指定一条数据(至少在您的情况下,但有一些方法可以在单个变量中指定多条数据,例如数组和对象)。此外,您只需要在每个字符串周围加上一组引号(只要它们匹配,它们是单引号还是双引号都无关紧要)。此外,除非您希望它们是全局的,否则请在变量之前使用“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;
};

当您将数组传递给需要三个不同变量的函数时,使您的第一次尝试工作有点棘手。你这样做:

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 回答