Javascript 为已知键创建空对象或具有空值的对象
几天以来,我一直在玩JavaScript和AngularJS,我不确定以下几点: 我正在进行一个示例项目,在该项目中,用户可以创建一辆新车,只需在JS对象中存储一些属性,如下所示:Javascript 为已知键创建空对象或具有空值的对象,javascript,angularjs,object,Javascript,Angularjs,Object,几天以来,我一直在玩JavaScript和AngularJS,我不确定以下几点: 我正在进行一个示例项目,在该项目中,用户可以创建一辆新车,只需在JS对象中存储一些属性,如下所示: var car = { color: 'black', seating: 'leather', fuelconsumption: 'moderate' } var car = { color: null, seating: null, fuelconsumption:
var car = {
color: 'black',
seating: 'leather',
fuelconsumption: 'moderate'
}
var car = {
color: null,
seating: null,
fuelconsumption: null
}
function Car(color, seating, fuel) {
this.color = color;
this.seating = seating;
this.fuelConsumption = fuel;
}
var c = new Car('black', 'leather', 'moderate');
console.log(c.color); // 'black'
用户可以通过点击添加按钮创建一辆新车。Angular然后创建一个新的汽车实例,用户可以指定对新车的期望
但是,我应该创建一个空对象吗
var car = {}
并使用绑定文本输入添加所需的键,或者我应该做些不同的事情吗
由于新车的属性是先验的,我也可以创建一个对象,其中包含所需的键和null
作为它们的值,如下所示:
var car = {
color: 'black',
seating: 'leather',
fuelconsumption: 'moderate'
}
var car = {
color: null,
seating: null,
fuelconsumption: null
}
function Car(color, seating, fuel) {
this.color = color;
this.seating = seating;
this.fuelConsumption = fuel;
}
var c = new Car('black', 'leather', 'moderate');
console.log(c.color); // 'black'
由于最佳实践等原因,哪种方法更可取?您可以采用两种方法。我更喜欢使用
{}
创建空对象,然后添加所需的道具,但您可以通过使用值的初始化定义道具来实现:
var car = {};
或
就像你那样。我认为这样做没有最好的做法。
但这些值可能应该指向保存此属性所需的数据类型
例如:
var car = {
color:"",
seating: "",
fuelconsumption: ""
};
在您的情况下,可以使用“”。
如果使用编号NaN,则未定义
如果使用字符串”
如果使用对象或数组{}[]
如果在Javascript中使用某种boolen值true/false
,通常不需要将属性初始化为null
。这是因为引用未初始化的属性只会无害地返回未定义的
,这与null
一样有效。这显然不同于其他一些语言(Java、C++),在这些语言中,必须先声明对象的属性,然后才能以任何方式引用它们
在你的例子中,我认为有意义的是创建一个构造函数来创建一个car
对象,因为你可能会创建多个car,而在编写代码时,所有可能的car对象都不知道。因此,您可以创建一个构造函数,如下所示:
var car = {
color: 'black',
seating: 'leather',
fuelconsumption: 'moderate'
}
var car = {
color: null,
seating: null,
fuelconsumption: null
}
function Car(color, seating, fuel) {
this.color = color;
this.seating = seating;
this.fuelConsumption = fuel;
}
var c = new Car('black', 'leather', 'moderate');
console.log(c.color); // 'black'
然后,您可以创建一个新的汽车对象,如下所示:
var car = {
color: 'black',
seating: 'leather',
fuelconsumption: 'moderate'
}
var car = {
color: null,
seating: null,
fuelconsumption: null
}
function Car(color, seating, fuel) {
this.color = color;
this.seating = seating;
this.fuelConsumption = fuel;
}
var c = new Car('black', 'leather', 'moderate');
console.log(c.color); // 'black'