当我使用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
即可获取该属性。