javascript变量声明中的If语句

javascript变量声明中的If语句,javascript,asp-classic,Javascript,Asp Classic,我的JavaScript方法中有这样的变量声明: var MyVariable = { CarMake: "Lexus", CarColor: "Black" } 我试图完成的是在MyVariable声明中添加一些登录名,例如: var MyVariable = { CarMake: "Lexus", if (carType == "sedan") { NumberOfDoors: 4, } CarColor: "Blac

我的JavaScript方法中有这样的变量声明:

var MyVariable = {
    CarMake: "Lexus",
    CarColor: "Black"
}
我试图完成的是在MyVariable声明中添加一些登录名,例如:

    var MyVariable = {
    CarMake: "Lexus",
    if (carType == "sedan") {
        NumberOfDoors: 4,
    }
    CarColor: "Black"
}

这有可能吗?

您需要在之前创建变量,并在之后添加新属性:

var MyVariable = {
   CarMake: "Lexus",
   CarColor: "Black"
}

if (carType == "sedan") {
    MyVariable.NumberOfDoors = 4
}

您需要在之前创建变量,并在之后添加新属性:

var MyVariable = {
   CarMake: "Lexus",
   CarColor: "Black"
}

if (carType == "sedan") {
    MyVariable.NumberOfDoors = 4
}

对于单线对象,您无法执行此操作。您需要稍后分配它。但是我认为您可以创建一个
类(ES6)
并使用

等级车{
构造函数(制造商、颜色、类型){
this.maker=maker;
这个颜色=颜色;
如果(类型==‘轿车’){
此参数为:门数=4;
}
}
}
var汽车=新车(“雷克萨斯”、“黑色”、“轿车”);

控制台日志(轿厢门数)对于单行对象,您无法执行此操作。您需要稍后分配它。但是我认为您可以创建一个
类(ES6)
并使用

等级车{
构造函数(制造商、颜色、类型){
this.maker=maker;
这个颜色=颜色;
如果(类型==‘轿车’){
此参数为:门数=4;
}
}
}
var汽车=新车(“雷克萨斯”、“黑色”、“轿车”);
控制台日志(轿厢门数)我想你可以

var MyVariable = {
  CarMake: "Lexus",
  CarColor: "Black",
  NumberOfDoors: (carType === 'sedan') ? 4 : undefined
}
这不完全相同,但很接近


但是呢

var MyVariable = {
  CarMake: "Lexus",
  CarColor: "Black"
}

if (carType === 'sedan') {
    MyVariable.NumberOfDoors = 4
}
您可以将其包装成一个“工厂”函数,然后执行以下操作

var MyVariable = makeCar("Lexus", "Black", "sedan") 
我想你能做到

var MyVariable = {
  CarMake: "Lexus",
  CarColor: "Black",
  NumberOfDoors: (carType === 'sedan') ? 4 : undefined
}
这不完全相同,但很接近


但是呢

var MyVariable = {
  CarMake: "Lexus",
  CarColor: "Black"
}

if (carType === 'sedan') {
    MyVariable.NumberOfDoors = 4
}
您可以将其包装成一个“工厂”函数,然后执行以下操作

var MyVariable = makeCar("Lexus", "Black", "sedan") 

一种方法是:

var MyVariable = {
    CarMake: "Lexus",
    CarColor: "Black"
}

if (carType == "sedan") {
    MyVariable.NumberOfDoors = 4;
}

一种方法是:

var MyVariable = {
    CarMake: "Lexus",
    CarColor: "Black"
}

if (carType == "sedan") {
    MyVariable.NumberOfDoors = 4;
}

我认为这里有语法问题。if语句中的冒号应替换为等号,以便在我没有弄错的情况下生成if语句。无论如何,好主意。谢谢你的回复!我认为这里有语法问题。if语句中的冒号应替换为等号,以便在我没有弄错的情况下生成if语句。无论如何,好主意。谢谢你的回复!