当我使用 javaScript 插件时,我经常遇到这种调整插件行为的方法。
$('.mySlider').slider({status: "burnt"});
如果我尝试用这样的对象复制这种方法
var Egg = function(){
this.details = {
status: "cooked",
make: "Happy Egg"
}
};
var egg = new Egg({status: "burnt"});
console.log(egg.details.status);
我刚从控制台收到一堆未定义的消息。谁能告诉我如何创建一个对象,然后像上面的例子一样改变它的属性?
谢谢
最佳答案
你的构造函数没有接受任何参数,但你在创建新实例时传递了它们。
你会想要
var Egg = function(props){
this.details = props;
};
或许
var Egg = function(props){
props = props || {}; // handle no arguments
this.status = props.status;
this.make = props.make || "Happy Egg";
};
然后您只需执行 egg.status
即可获取该属性。
关于Javascript 设置对象选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11745509/