Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript原型setter和getter_Javascript - Fatal编程技术网

Javascript原型setter和getter

Javascript原型setter和getter,javascript,Javascript,使用javascript原型模式时,如何设置选项的默认值,然后用指定的参数覆盖这些值 var myController = function() { //constructor } myController.prototype.options = { element: '.el', selector: '.selector' }; myController.prototype.init = function(args) { console.log(this.o

使用javascript原型模式时,如何设置选项的默认值,然后用指定的参数覆盖这些值

var myController = function() {
    //constructor
}

myController.prototype.options = {
    element: '.el',
    selector: '.selector'
};

myController.prototype.init = function(args) {
    console.log(this.options.element);
    console.log(this.options.selector)        
};

var params = {
   element: '.test'
};
myController.init(params);
应该输出

'.test'
'.selector'

因为params.element应该覆盖options.element属性。

这里有一个解决方案,希望您喜欢。我是按照你的要求写的

var myController=函数{ //建造师 } myController.prototype.options={ 元素:'.el', 选择器:'.selector', 另一件事:“废话”, 另一件事:“诸如此类” }; myController.prototype.init=functorgs{ //哇。。。 //Object.getOwnPropertyNamesobject创建对象属性的数组 forvar c=0;cconsole.logthing.options;你没有在你的电脑里用args做任何事情init@charlietfl我真的被困在这一部分。你是在尝试初始化原型还是未来的实例?第二个代码是我想要的,但是有没有办法循环它而不是逐个分配它们?如果选项中有很多对象,这将非常有用。@user1781041我希望您喜欢它@用户1781041没问题!很高兴看到有人满意