在Javascript中是否可以在变量名中添加两个点?

在Javascript中是否可以在变量名中添加两个点?,javascript,Javascript,我想在javascript中创建一个这样的变量 variable1.varible2.variable3 = "Hi Its working"; alert(variable1.varible2.variable3); 变量名中不能有 你可以随意调用变量,但也有一些限制。通常,您应该坚持只使用拉丁字符(0-9、a-z、a-z)和下划线字符 如果您确实希望variable1.variable2.variable3返回值“Hi Its working”。您可以使用对象 let variable1

我想在javascript中创建一个这样的变量

variable1.varible2.variable3 = "Hi Its working";
alert(variable1.varible2.variable3);

变量名中不能有

你可以随意调用变量,但也有一些限制。通常,您应该坚持只使用拉丁字符(0-9、a-z、a-z)和下划线字符

如果您确实希望
variable1.variable2.variable3
返回值
“Hi Its working”
。您可以使用对象

let variable1={
变量2:{
变量3:“Soemthing”
}
}

console.log(variable1.variable2.variable3)
您不能使用
作为变量名,但您可以对对象执行此操作:

let person = {
  name: {
    first: 'john',
    last: 'snow'
  },
  eyes: {
    color: 'black'
  }
}
console.log(person.name.first); //john

然后您可以编写Car.engine.type=“V8 Turbo”

我不知道这是否可能,但即使可能,您为什么要这样做?这可能导致严重的不可读代码,因为
variable1.something
现在可能意味着多个东西。我还需要添加第三个,这就是我实际想要的我以前的代码var mockwindow={};mockwindow.location=“”;警报(mockwindow.location);我想添加第三个like警报(mockwindow.location.href),我同意Tim的说法。这通常是一个对象与另一个对象暴露在一起的地方。例如,可以有一个汽车对象和一个引擎对象,其类型为属性。然后您可以编写Car.engine.type=“V8 Turbo”这不是一个变量,而是设置一个对象属性。也就是说,如果您已经有一个名为
variable1
的对象,该对象的属性
variable2
包含另一个对象,那么您可以使用该代码在该对象上设置一个名为
variable3
的属性。但是它没有,也不能,分配给一个新的变量。
字符在JS标识符中不合法。谢谢您的帮助
var car = new Object();
car.type = "Fiat";
car.model = "500";
car.color = "white";
car.engine = {type:"V8", fuel:"diesel"}
console.log(car)

window.alert(car.engine.type)