Ben*_*awk 1 javascript oop jquery object
当我使用javaScript插件时,我经常遇到这种方法来调整插件行为.
$('.mySlider').slider({status: "burnt"});
Run Code Online (Sandbox Code Playgroud)
如果我尝试用这样的对象复制这种方法
var Egg = function(){
this.details = {
status: "cooked",
make: "Happy Egg"
}
};
var egg = new Egg({status: "burnt"});
console.log(egg.details.status);
Run Code Online (Sandbox Code Playgroud)
我只是从控制台获得了一堆未定义的消息.任何人都可以告诉我如何创建一个对象,然后像上面的例子一样改变它的属性?
谢谢
您的构造函数没有接受任何参数,但是在创建新实例时您正在传递它们.
你想要的
var Egg = function(props){
this.details = props;
};
Run Code Online (Sandbox Code Playgroud)
也许
var Egg = function(props){
props = props || {}; // handle no arguments
this.status = props.status;
this.make = props.make || "Happy Egg";
};
Run Code Online (Sandbox Code Playgroud)
然后你会做的只是egg.status获得财产.