SyntaxError 意外的标记,如果在函数内
SyntaxError Unexpected token if within a function
我目前正在学习 javascript(目前通过使用 Google 脚本),我觉得这是一个简单的错误,但我想不出解决它的办法。
如果我将 "var colour" 设置为颜色代码,则下面的代码有效。但是当我将它更改为 if 语句时,我遇到了问题。我尝试了多种不同的格式,但仍然遇到同样的问题...
对于信息,它只是从电子表格中获取几行,然后格式化所选行并将其显示给用户。
//Example of part of working code:
if(Line.length == 0){
var Line = lines
.slice(1)
.filter(function(row) { return row[4] == e.message.text;})
.map(function(row) {
var colour = if(row[6]=1){return "#ff0000"};
return '<b>' + row[3] + '</b> ('+ row[1] + ' or ' +row[2] + ')' + '\n' + '<font color=' + colour + '>Region: ' + row[6] + "</font>";
});
}
statements and expressions有区别。
就像你可以把苹果放在篮子里但不能把篮子放在苹果里一样,你可以把表达式放在语句中而不是语句放在表达式中。
var colour = ...
是一个期望等号右侧的表达式的语句。您不能在此处放置 if
语句。您可以使用 conditional operator 来创建条件表达式:
var colour = row[6] == 1 ? "#ff0000" : "#000000";
或者你可以使用一个完整的if
语句来执行两个变体赋值语句:
var colour;
if (row[6] == 1) {
colour = "#ff0000";
} else {
colour = "#000000";
}
另请注意,return #ff0000
会按字面意思返回 "#ff0000"
,而不是我假设您想要的带有颜色 #ff0000
的文本;另请注意,row[6] = 1
会将 分配给 1
到 row[6]
,而不是比较它。
我目前正在学习 javascript(目前通过使用 Google 脚本),我觉得这是一个简单的错误,但我想不出解决它的办法。
如果我将 "var colour" 设置为颜色代码,则下面的代码有效。但是当我将它更改为 if 语句时,我遇到了问题。我尝试了多种不同的格式,但仍然遇到同样的问题...
对于信息,它只是从电子表格中获取几行,然后格式化所选行并将其显示给用户。
//Example of part of working code:
if(Line.length == 0){
var Line = lines
.slice(1)
.filter(function(row) { return row[4] == e.message.text;})
.map(function(row) {
var colour = if(row[6]=1){return "#ff0000"};
return '<b>' + row[3] + '</b> ('+ row[1] + ' or ' +row[2] + ')' + '\n' + '<font color=' + colour + '>Region: ' + row[6] + "</font>";
});
}
statements and expressions有区别。
就像你可以把苹果放在篮子里但不能把篮子放在苹果里一样,你可以把表达式放在语句中而不是语句放在表达式中。
var colour = ...
是一个期望等号右侧的表达式的语句。您不能在此处放置 if
语句。您可以使用 conditional operator 来创建条件表达式:
var colour = row[6] == 1 ? "#ff0000" : "#000000";
或者你可以使用一个完整的if
语句来执行两个变体赋值语句:
var colour;
if (row[6] == 1) {
colour = "#ff0000";
} else {
colour = "#000000";
}
另请注意,return #ff0000
会按字面意思返回 "#ff0000"
,而不是我假设您想要的带有颜色 #ff0000
的文本;另请注意,row[6] = 1
会将 分配给 1
到 row[6]
,而不是比较它。