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

10-02 04:13