+159.8
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
function AbstractControl_getProperty (propertyName) {
var targetElement = this.getTargetPath(propertyName);
var result = null;
if (this.isTargetAttribute(propertyName)) {
eval("result = targetElement." + this.getAttributeName(propertyName));
} else {
var getter = this.getGetterName(propertyName);
var expression = "result = targetElement." + getter + "();";
eval(expression);
}
return result;
}
Вот так наши "суровые челябинские" программисты, не имеющие представления об интроспективности javascript-а, повсюду злоупотребляют eval-ом, усложняя отладку и понимание кода.
По хорошему, вместо первого eval-а должно бы быть:
result = targetElement[this.getAttributeName(propertyName)];
а вместо второго:
result = targetElement[this.getGetterName(propertyName)]();
Запостил: Andronix,
15 Апреля 2010
guest 15.04.2010 20:14 # −7
guest 15.04.2010 20:30 # −4.6
guest 15.04.2010 22:00 # −1.6
guest 15.04.2010 20:33 # −6
guest 16.04.2010 09:38 # 0
guest 16.04.2010 15:18 # +0.8
guest 15.04.2010 20:49 # +4.4
guest 15.04.2010 21:23 # +5.6
guest 15.04.2010 21:51 # +0.4
guest 16.04.2010 01:57 # +3.2
guest 16.04.2010 10:33 # +1
guest 16.04.2010 15:19 # +3.2
cfdev 17.04.2010 05:32 # 0
guest 17.04.2010 17:40 # 0
guest 16.04.2010 09:17 # +2.2