在Javascript中是否可以在变量名中添加两个点?
我想在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
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)