我是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.showNameAndSpeed();
它说对象没有定义。我做错了什么?谢谢。
答案 0 :(得分:7)
您的问题是object
需要大写 - object
在JavaScript中不是一件事,但Object
是。
你想:
var car=new Object();
作为w3schools says,JavaScript标识符区分大小写:
所有JavaScript标识符都区分大小写。
变量
lastName
和lastname
是两个不同的变量。
所以object
和Object
是两个不同的东西,你想要Object
- JS中几乎所有内容都以Object
开头。
此外,正如ozil指出的那样,您应该将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();
答案 1 :(得分:2)
在我看来,创建对象的更好方法是:
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
答案 2 :(得分:0)
object
需要大写,car.speed()
需要car.speed
为speed is not a function