JavaScript对象中的条件语句

时间:2013-03-08 16:20:28

标签: javascript jquery html html5

我创建了以下Dygraph对象:

function prime() {
  g = new Dygraph(
    document.getElementById("g"),
      data, //This is the variable I want to avoid passing in for older browsers
      {
      labelsDivStyles: { 'textAlign': 'right' },
      title: document.getElementById("title").value,
      titleHeight: 35,
      labelsSeparateLines: true,
      includeZero: true
      }
  );
}

我想要进行浏览器检查以确定是否包含“数据”,例如:

if(Browser.Version() > 8){
  //include data variable
} else{
  //don't include
}

除了创建第二个函数来处理其他案例之外,是否有任何想法

1 个答案:

答案 0 :(得分:0)

您需要预先创建和操作对象文字,或者需要在 value null / undefined

var myObj = {
    labelsDivStyles: { 'textAlign': 'right' },
    title: document.getElementById("title").value,
    titleHeight: 35,
    labelsSeparateLines: true,
    includeZero: true
};

if( Browser.Version() > 8 ) {
    myObj.data = 42;
}

function prime() {
    g = new Dygraph(
     document.getElementById("g"),
      data,
      {
      labelsDivStyles: { 'textAlign': 'right' },
      title: document.getElementById("title").value,
      titleHeight: 35,
      labelsSeparateLines: true,
      includeZero: true,
      data: Browser.Version() > 8 ? 42 : null
      }
  );
}

您也可以选择具有自我调用功能来完成工作并返回该对象,但这与示例#1几乎相同。无论哪种方式,您都无法告诉ECMAscript在形成对象文字时创建或不创建密钥。