所以我使用选项以文字对象方式将值传递给新对象。
var obj = new myObject({height:'500',width:'300');
function myObject(options){
}
我不确定将这些值分配给对象的最佳路径,以便这样做。
function myObject(options){
...assignment...
alert(this.width);
}
答案 0 :(得分:7)
function myObject(options){
// copy the options into the current object
for (var key in options) {
if (options.hasOwnProperty(key)) {
this[key] = options[key];
}
}
alert(this.width); // 300
}
var obj = new myObject({height:'500',width:'300'});
您甚至可以扩展此概念,您可以使用默认属性值myObject
,并且可以使用options
对象覆盖它们:
function myObject(options){
// DEFAULTS
this.name = 'Box';
this.width = '100';
this.height = '100';
// copy the options into the current object
for (var key in options) {
if (options.hasOwnProperty(key)) {
this[key] = options[key];
}
}
alert(this.width);
}
var obj = new myObject({height:'500',width:'300'}); // alert: 300
var obj2 = new myObject({height: '500'}); // alert: 100
答案 1 :(得分:0)
var obj = new myObject({height:'500',width:'300'});
function myObject(options){
alert(options.width);
}