Javascript 创建对象会产生意外的结果
我是js的新手。 我正在创建一个对象,但不知何故它并没有在控制台中给出结果。 这是我的密码Javascript 创建对象会产生意外的结果,javascript,Javascript,我是js的新手。 我正在创建一个对象,但不知何故它并没有在控制台中给出结果。 这是我的密码 var car=new object(); car.name="Mercedes Benz"; car.speed=220; car.showNameAndSpeed=function(){ console.log("The name of the car is " + car.name + " and the topspeed is " + car.speed()); }; car.showN
var car=new object();
car.name="Mercedes Benz";
car.speed=220;
car.showNameAndSpeed=function(){
console.log("The name of the car is " + car.name + " and the topspeed is " + car.speed());
};
car.showNameAndSpeed();
它说,对象没有定义。我做错了什么?谢谢。你的问题是
对象
需要大写-对象
在JavaScript中不是一个东西,但对象
是
你想要:
var car=new Object();
同样,JavaScript标识符区分大小写:
所有JavaScript标识符都区分大小写
变量lastName
和lastName
是两个不同的变量
所以object
和object
是两个不同的东西,你需要object
——JS中几乎所有的东西都是从对象开始的
此外,正如厄齐尔指出的,您应该将car.speed()
更改为简单的car.speed
。您之前已将car.speed
设置为220
,因此它不是一个函数car.speed()
尝试将其视为一个函数,这将导致问题
总之,这段代码就是您想要的:
var car=new Object();
car.name="Mercedes Benz";
car.speed=220;
car.showNameAndSpeed=function(){
console.log("The name of the car is " + car.name + " and the topspeed is " + car.speed);
};
car.showNameAndSpeed();
在我看来,创建对象的更好方法是:
var car = {
name: "Mercedes Benz",
speed: 220,
showNameAndSpeed: function(){
var self = this;
console.log("The name of the car is " + self.name + " and the topspeed is " + self.speed);
}
}
car.showNameAndSpeed(); //Output: The name of the car is Mercedes Benz and the topspeed is 220
对象
需要大写,并且car.speed()
需要car.speed
,因为速度不是一个函数
car.speed()
不正确speed
是car
对象的属性,它不是函数。var car=new object()代码>var car={}代码>执行此操作(或在代码中使用大写字母O
)。另外请注意,speed
不是一个函数。请大家输入答案,以便我可以投票给你。谢谢,。