Javascript 创建对象会产生意外的结果

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

我是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();

它说,对象没有定义。我做错了什么?谢谢。

你的问题是
对象
需要大写-
对象
在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
不是一个函数。请大家输入答案,以便我可以投票给你。谢谢,。