微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kyle Simpson 的 OLOO 模式如何处理未初始化的对象?

如何解决Kyle Simpson 的 OLOO 模式如何处理未初始化的对象?

假设从 another OLOO question提取的下一个示例:

var Foo = {
    init: function(who) {
        this.initialized = true;
        this.me = who;
    },checkIfInitialized: function() {
        if(!this.initialized) throw new Error('Not initialized')
    },identify: function() {
        checkIfInitialized()
        return "I am " + this.me;
    },sayHi: function() {
        checkIfInitialized()
        return "Hi " + this.me;
    },sayGoodBye: function() {
        checkIfInitialized()
        return "Goodbye " + this.me;
    }
};

这里,如果在调用函数之前对象没有被初始化,我想抛出一个错误或者拒绝identify的调用。但是,我不想在对象的每个公共例程中添加验证器。

如何在不重复该行为的情况下处理它?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。