我正试图在perl
中以这种方式编写代码。
\$('#AmpCovPlot').highcharts({
var amp_name = new Array[$amp];
var amp_cov = new Array[$cov]
chart: {
type: 'line'
},
title: {
text: 'Average cov'
},
xAxis: {
categories: [amp_name]
},
yAxis: {
title: {
text: 'Amp name'
}
},
series: [{
name: [amp_name]
data: [amp_cov]
}]
});
所以$amp
和$cov
是包含数组元素的perl
变量,由语句生成:
my $Cov=join(",",@cov);
我得到了“Uncaught SyntaxError:Unexpected Identifier”。我知道我犯了一个大错,而且我是javascript的新手。
有人能让我知道如何解决这个问题吗?
感谢!!!
答案 0 :(得分:0)
"意外的标识符"是一个无效的Javascript提示。在您的情况下,我认为您print
没有双引号qq{}
的Javascript代码更准确:您print
一个$
,其中不允许$
或者你不打印预期$
的{{1}}。
当你只是复制+粘贴你的Javascript代码时,你也有一个语法错误:
$
下一部分是var amp_cov = new Array[$cov] // no semicolon ;
// what is the following part for? you dont really assign that stuff to
// something .... seems wrong
chart: {
type: 'line'
},
title: {
text: 'Average cov'
},
xAxis: {
categories: [amp_name]
},
yAxis: {
title: {
text: 'Amp name'
}
},
series: [{
name: [amp_name]
data: [amp_cov]
}]
数组的join
。您还需要在Javascript中引用变量:
Perl
所以你的var array = ['a','b','c'];
需要像:
join
这只是意味着,您首先为my $cov = join q{,}, map {qq{'$_'}} @cov;
中的每个元素添加单引号,然后@cov
全部添加join
答案 1 :(得分:0)
您正在对象中定义变量,这对JS来说是不合适的:
$('#AmpCovPlot').highcharts({
var amp_name = new Array[$amp]; // not here!
var amp_cov = new Array[$cov] // not here!
chart: {
type: 'line'
},
title: {
text: 'Average cov'
},
xAxis: {
categories: [amp_name]
},
yAxis: {
title: {
text: 'Amp name'
}
},
series: [{
name: [amp_name]
data: [amp_cov]
}]
});
这应该这样做:
var amp_name = new Array[$amp]; // here define variables
var amp_cov = new Array[$cov]; // here define variables
$('#AmpCovPlot').highcharts({ ... }); // and create chart