【发布时间】:2016-01-12 11:09:04
【问题描述】:
我有一个列出一系列验证规则的对象,如下所示。
validation_rules = {
'validate_rule1' : {
'rule' : function(el){
do something
if(true){
this.message = 'this is a numeric error';
}
return true;
},
'message' : 'this is a general error';
},
'validate_rule2' : {
'rule' : function(el){
do something
return this.variation.variation_1(el);
},
'message' : 'this is a general error',
'variation' : {
'variation_1' : function(el){
return true/false;
}
}
}
}
执行规则的函数使用该对象来确定输入是否有效,并为每个失败的规则返回适当的消息。
我知道如何为每个规则设置默认消息并使用实例“this”覆盖它,就像我在 rule1 中所做的那样。
我可以覆盖 rule2 的消息,将实例作为函数的参数传递给每个变体。
我想知道,有没有办法将“this”的范围向上移动以访问“validate_rule2”属性?
【问题讨论】:
标签: javascript jquery scope