如何创建具有初始值的javascript对象?
例如,我想用json值启动objCar,这些值可以在构造函数中传递,然后我可以调用在objCar构造函数中创建的race函数,这可能吗?当我尝试这样做时,我会收到: 左侧的赋值无效 错误源行:[Parar neste erro] 这=数值如何创建具有初始值的javascript对象?,javascript,Javascript,例如,我想用json值启动objCar,这些值可以在构造函数中传递,然后我可以调用在objCar构造函数中创建的race函数,这可能吗?当我尝试这样做时,我会收到: 左侧的赋值无效 错误源行:[Parar neste erro] 这=数值 tnx.您编写的函数构造函数完全错误。这应该是正确的: function Car(values) { var _this = this; values = values || {}; // in case the argument is u
tnx.您编写的函数构造函数完全错误。这应该是正确的:
function Car(values) {
var _this = this;
values = values || {}; // in case the argument is undefined.
this.brand = values["brand"] || ""; // empty string for default brand
this.model = values["model"] || ""; // empty string for default model
this.race = function() {
alert('car model: '+ _this.model + ' car brand: ' + _this.brand + ' has joined the race');
}
}
var car = new Car({'brand':'ford','model':'fiesta'});
car.race();
您只需要将所有属性从值复制到该文件中。您不能重新分配这是什么 这是另一种方法,更像是你想做的, 即使用传入的对象作为此对象 或者还有另一种方式,哦,我多么喜欢JSOO和无数种做同样事情的方式
function Car() {
this.race = function() {
alert('car model: ' + this.model +
' car brand: ' + this.brand + ' just joined the race');
};
return this;
};
var car = Car.apply({
brand: 'ford',
model: 'fiesta'
});
car.race();
我认为这两种方法都不是最好的方法,我宁愿使用原型而不是基于闭包的面向对象方法 tnx的家伙,但问题是我需要这些值直接在对象。。。比如,我可以在对象内部创建一个var来保存作为构造函数参数传递的json。。。但是如何使这个json属性直接位于对象内部呢?我想做一些类似于:car.model的东西,但我不想在构造函数中设置特定的var模型,因为来自json的值将是随机的。。。有可能吗?
function objCar(values) {
this.race = function() {
alert('car model: ' + values.model + ' car brand: ' + values.brand + ' was joined the race');
};
};
var car = new objCar({
brand: 'ford',
model: 'fiesta'
});
car.race();
function Car(values) {
for (var key in values) {
this[key] = values[key];
}
this.race = function() {
alert('car model: ' + this.model +
' car brand: ' + this.brand + ' just joined the race');
};
};
var car = new Car({
brand: 'ford',
model: 'fiesta'
});
car.race();
function Car() {
this.race = function() {
alert('car model: ' + this.model +
' car brand: ' + this.brand + ' just joined the race');
};
return this;
};
var car = Car.apply({
brand: 'ford',
model: 'fiesta'
});
car.race();
function Car() {
this.race = function() {
alert('car model: ' + this.model +
' car brand: ' + this.brand + ' just joined the race');
};
};
var car = {
brand: 'ford',
model: 'fiesta'
};
Car.apply(car);