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,model和year中的键吗?示例
car3 {
make: "mazda",
model: "rx7",
year: "2002"
}
答案 0 :(得分:1)
这是另一种选择:
var car1 = {make: "nissan", model: "gtr",year: "1999" }
您还可以创建一个空车(make \ year \ model将是未定义的),如下所示:
var car1 = {};
或
var car1 = new car();
您可以稍后填写:
car1.make = "nissan";
答案 1 :(得分:0)
答案是:不,我没有完全明白你的问题。在这两个示例中,您都可以指定品牌,型号和年份。所以我的两个猜测:
首先猜测。你想要一个没有参数的构造函数 - 这很简单,因为在JavaScript中可以省略参数值:
function car( make, model, year ) {
this.make = make || "";
this.model = model || "";
this.year = year || 0;
}
第二次猜测。您想使用对象表示法,因为您喜欢它。对象表示法在不使用构造函数的情况下创建对象,但您可以将该对象用作输入:
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" });
答案 2 :(得分:-1)
这是另一种选择:
function car(a,b,c){
return {
a:a, b:b, c:c
};
}
var x = car(1,2,3);
var y = car(4,5,6);
答案 3 :(得分:-1)
在JavaScript中,您必须使用关键字" new"创建对象。
使用代码:
var car = {make: "nissan", model: "gtr, year: "1999"}
将制作包含这些属性的JSON,但不包含汽车。
你可以检查一下你是否正在制造汽车"是否使用此代码:
//var obj previously defined/set/created
if(obj instanceof car) { /*code to confirm class*/ }