首页
学习
活动
专区
圈层
工具
发布

MooTools类
EN

Stack Overflow用户
提问于 2010-02-03 10:41:52
回答 1查看 305关注 0票数 2

我的所有MooTools类都是这样的:

代码语言:javascript
复制
myClass = new Class({

    initialize: function(options) { 

        if (optionsType === 'object') {
            for (var key in options) {
                this[key] = options[key];
            }
        }

    }

});

这有必要吗?难道MooTools没有为我内置一些可以执行此操作的工具吗?

或者我需要创建一个超类?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-03 16:20:21

呃,在理想的情况下,在其中实现选项,它会为您做到这一点:

代码语言:javascript
复制
var myclass = new Class({
    Implements: [Options],
    options: {  // default options:
        foo: "foobar"
    },
    initialize: function(options) {
        this.setOptions(options);
        alert(this.options.foo);
    }
});

new myclass({foo: "bar"}); // alerts bar
new myclass(); // alerts foobar

在函数中也有另一种方法可以做到这一点,对对象使用$merge (从1.3起就被废弃了)或Object.merge泛型:

代码语言:javascript
复制
var myfunc = function(options) {
    var options = Object.merge({
        foo: "bar"
    }, options);

    alert(options.foo);
};

myfunc({foo: "fighters"});
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2189299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档