Javascript设置对象选项

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)

我只是从控制台获得了一堆未定义的消息.任何人都可以告诉我如何创建一个对象,然后像上面的例子一样改变它的属性?

谢谢

hvg*_*des 6

您的构造函数没有接受任何参数,但是在创建新实例时您正在传递它们.

你想要的

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获得财产.