Javascript 意外标记'==';在对象文字中

Javascript 意外标记'==';在对象文字中,javascript,Javascript,我已经创建了自动表,但是由于某种原因,我得到了一个意外的标记'='错误。我已经检查了自动表参数内的条件 group1 = '1' var i = 0; if (group1.length) { i += 1; var res4 = doc.autoTableHtmlToJson(document.getElementById('group3new')); doc.autoTable(res4.columns, res4.data, { showHead: 'firstPa

我已经创建了自动表,但是由于某种原因,我得到了一个
意外的标记'='
错误。我已经检查了自动表参数内的条件

group1 = '1'
var i = 0;
if (group1.length) {
  i += 1;

  var res4 = doc.autoTableHtmlToJson(document.getElementById('group3new'));

  doc.autoTable(res4.columns, res4.data, {
    showHead: 'firstPage',
    styles: {
      overflow: 'hidden',
      fontSize: 5
    },
    if (i == 1) {
      startY: 30,
      margin: {
        right: 305
      },
    }
    else if (i == 2) {
      startY: 30,
      margin: {
        left: 305
      },
    }
    else {
      startY: lastAutoTable.finalY + 50,
      margin: {
        right: 305
      },
    }
  });
}

不能将if语句放在对象文字符号内。创建对象时,只需提供值,以确保其结构

任何动态值都应在对象创建之后或之前添加或计算

 const data = {
    showHead: 'firstPage',
    styles: {overflow: 'hidden', fontSize: 5};
  }
  if (i === 1) {
    data.startY = 30;
    data.margin = {right: 305};
  } else if (i === 2) {
    data.startY = 30;
    data.margin = {left: 305};
  } else {
    data.startY = lastAutoTable.finalY + 50;
    data.margin = {right: 305};
  }
  doc.autoTable(res4.columns, res4.data, data);

什么问题?您期望的是什么?如果。。。否则…在对象内部,因此出现语法错误
var options={showHead:…,styles:…};if(i==1){options.startY=…}else{…}
次要术语更正-这通常称为对象初始值设定器或对象文字符号。构造函数没有错误,但这是误导性的,因为OOP将对象构造函数作为创建对象的不同子例程。感谢您指出并完成我的回答如何打印第三个表。最终未定义错误这仍然与当前问题有关吗?