/**
* 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];
};obj_view = new View_message('test_id');
obj_view.display('empty');发布于 2011-11-22 11:14:44
我相信你把事情搞得太复杂了。声明一个原型,将不会使您的代码更健壮,甚至更快。我相信你知道,但实际上,下面的代码将更容易阅读,更有效,也更快。
/**
* 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;
};那么有两种方法可以这样做:
var view = new ViewMessage('divID');
view.display('email');或
var view = new ViewMessage('divID').display('email');https://codereview.stackexchange.com/questions/6190
复制相似问题