使用';新';javascript中的关键字?
我是否可以使用对象语法创建car3,而不指定对象make、model和year中的键?范例使用';新';javascript中的关键字?,javascript,Javascript,我是否可以使用对象语法创建car3,而不指定对象make、model和year中的键?范例 function car( make, model, year ){ this.make = make; this.model = model; this.year = year; } var car1 = new car( "toyota", "supra", 1995 ); var car2 = new car( "nissan", "gtr", "1999" ); 这是另一种选择: c
function car( make, model, year ){
this.make = make;
this.model = model;
this.year = year;
}
var car1 = new car( "toyota", "supra", 1995 );
var car2 = new car( "nissan", "gtr", "1999" );
这是另一种选择:
car3 {
make: "mazda",
model: "rx7",
year: "2002"
}
您还可以创建一辆空车(make\year\model未定义),如下所示:
var car1 = {make: "nissan", model: "gtr",year: "1999" }
或
您可以在以后将其填满:
var car1 = new car();
这是另一种选择:
car3 {
make: "mazda",
model: "rx7",
year: "2002"
}
您还可以创建一辆空车(make\year\model未定义),如下所示:
var car1 = {make: "nissan", model: "gtr",year: "1999" }
或
您可以在以后将其填满:
var car1 = new car();
这里还有一个选择:
car1.make = "nissan";
这里还有一个选择:
car1.make = "nissan";
答案是:不,我不太明白你问题的重点。在这两个示例中,您都指定了品牌、型号和年份。因此,我有两个猜测: 第一个猜测。您需要一个没有参数的构造函数-这很简单,因为JavaScript中可以省略参数值:
function car(a,b,c){
return {
a:a, b:b, c:c
};
}
var x = car(1,2,3);
var y = car(4,5,6);
第二种猜测。您希望使用对象表示法,因为您喜欢它。对象表示法在不使用构造函数的情况下创建对象,但您可以将该对象用作输入:
function car( make, model, year ) {
this.make = make || "";
this.model = model || "";
this.year = year || 0;
}
答案是:不,我不太明白你问题的重点。在这两个示例中,您都指定了品牌、型号和年份。因此,我有两个猜测: 第一个猜测。您需要一个没有参数的构造函数-这很简单,因为JavaScript中可以省略参数值:
function car(a,b,c){
return {
a:a, b:b, c:c
};
}
var x = car(1,2,3);
var y = car(4,5,6);
第二种猜测。您希望使用对象表示法,因为您喜欢它。对象表示法在不使用构造函数的情况下创建对象,但您可以将该对象用作输入:
function car( make, model, year ) {
this.make = make || "";
this.model = model || "";
this.year = year || 0;
}
在JavaScript中,必须使用关键字“new”来创建对象 使用代码:
function car( parameters ) {
this.make = parameters.make;
this.model = parameters.model;
this.year = parameters.year;
}
var car = new car( { make: "mazda", model: "rx7", year: "2002" });
将生成包含这些属性的JSON,但不是汽车
您可以使用以下代码检查是否正在生成“汽车”对象:
var car = {make: "nissan", model: "gtr, year: "1999"}
在JavaScript中,必须使用关键字“new”来创建对象 使用代码:
function car( parameters ) {
this.make = parameters.make;
this.model = parameters.model;
this.year = parameters.year;
}
var car = new car( { make: "mazda", model: "rx7", year: "2002" });
将生成包含这些属性的JSON,但不是汽车
您可以使用以下代码检查是否正在生成“汽车”对象:
var car = {make: "nissan", model: "gtr, year: "1999"}
我不明白你的问题。您说您想“创建car3…但不指定品牌、型号和年份”。那你想具体说明什么呢?您只需要一个空对象吗?不需要指定“make”一词,也不需要指定“model”一词和“year”一词,但我需要指定值。我认为您需要扩展示例以显示您想要的是什么exactly@nacholibre:new不会创建函数的新实例。它创建了一个新对象并使用函数作为构造函数。@chiccodoro你说得对:)我不明白你的问题。您说您想“创建car3…但不指定品牌、型号和年份”。那你想具体说明什么呢?您只需要一个空对象吗?不需要指定“make”一词,也不需要指定“model”一词和“year”一词,但我需要指定值。我认为您需要扩展示例以显示您想要的是什么exactly@nacholibre:new不会创建函数的新实例。它创建了一个新对象,并使用函数作为构造函数。@chiccodoro你是对的:)我认为答案完全正确,回答了这个问题。我看不出有理由否决投票。(我承认我采用了完全不同的方法,但考虑到这个非常开放的问题,很难给出“错误”或“糟糕”的答案。)我认为答案完全正确,回答了这个问题。我看不出有理由否决投票。(我承认我采用了完全不同的方法,但考虑到这个非常开放的问题,很难给出“错误”或“糟糕”的答案。)我不同意。您不必使用“new”来创建对象,而且您的第一个代码段并不创建JSON,而是创建了一个对象。JSON是一种序列化格式,而不是JavaScript实体。它经常与JS对象混淆,因为JSON是从JavaScript对象文本语法派生的(或者更准确地说,是其子集)。使用
new
的唯一原因是使用构造函数创建对象,从而为对象提供特定的“原型”。当我使用“if(car instanceof car)”时,它没有使用第一个示例进行验证。不同意。您不必使用“new”来创建对象,而且您的第一个代码段并不创建JSON,而是创建了一个对象。JSON是一种序列化格式,而不是JavaScript实体。它经常与JS对象混淆,因为JSON是从JavaScript对象文本语法派生的(或者更准确地说,是其子集)。使用new
的唯一原因是使用构造函数创建对象,从而为对象提供特定的“原型”。当我使用“if(car instanceof car)”时,它没有使用第一个示例进行验证。