首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >View_messages“类”

View_messages“类”
EN

Code Review用户
提问于 2011-11-22 01:55:08
回答 1查看 68关注 0票数 0
代码语言:javascript
复制
/**
 *    View_message
 *    Object Model
 */ 

var View_message = function(div)
{
    this.div = document.getElementById(div); 
};

View_message.prototype.messages = 
{ 
    empty: 'Please complete all fields',
    empty_bm: 'Please enter both a title and url',
    name: 'Only letters or dashes for the name field',
    email: 'Please enter a valid email',
    same: 'Please make emails equal',
    taken: 'Sorry that email is taken',
    pass: 'Please enter a valid password, 6-40 characters',
    validate: 'Please contact <a class="d" href="mailto:support@host.com">support</a> to reset your password',
    url:  'Pleae enter a valid url'
}; 

View_message.prototype.display = function(type) 
{
    this.div.innerHTML = this.messages[type];
};

和调用

代码语言:javascript
复制
obj_view = new View_message('test_id');
obj_view.display('empty');
EN

回答 1

Code Review用户

回答已采纳

发布于 2011-11-22 11:14:44

我相信你把事情搞得太复杂了。声明一个原型,将不会使您的代码更健壮,甚至更快。我相信你知道,但实际上,下面的代码将更容易阅读,更有效,也更快。

代码语言:javascript
复制
/**
 *    View_message
 *    Object Model
 */ 
var ViewMessage = function(div) {
    this.div = document.getElementById(div); 

    this.messages = { 
        empty: 'Please complete all fields',
        empty_bm: 'Please enter both a title and url',
        name: 'Only letters or dashes for the name field',
        email: 'Please enter a valid email',
        same: 'Please make emails equal',
        taken: 'Sorry that email is taken',
        pass: 'Please enter a valid password, 6-40 characters',
        validate: 'Please contact <a class="d" href="mailto:support@host.com">support</a> to reset your password',
        url:  'Pleae enter a valid url'
    };

    this.display = function(type) {
        this.div.innerHTML = this.messages[type];

        return this;
    };

    return this;
};

那么有两种方法可以这样做:

代码语言:javascript
复制
var view = new ViewMessage('divID');
    view.display('email');

代码语言:javascript
复制
var view = new ViewMessage('divID').display('email');
票数 2
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/6190

复制
相关文章

相似问题

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