0

在下面的片段中,我设置

privates.RADIX = 10;

而不是仅仅10在successinf代码中使用。这是好的做法还是肛门保留?

function peakOut = function (elem, offset, delay, callback) {
    var privates = {};

    // constants initialization

    privates.RADIX = 10;
    privates.GRAN_TIME = 15;
    privates.GRAN_DIST = 1;
    privates.UNITS = 'px';

    // privates initialization

    privates.el = elem;
    privates.start = parseInt($P.getComputedStyle(privates.el).getPropertyValue("top"),
            privates.RADIX);

    privates.status = 'down';
    privates.end = privates.start + offset;
    privates.current = privates.start;
    privates.id = null;

    (function next() {
        if ((privates.status === 'down') && (privates.current < privates.end)) {
            privates.current += privates.GRAN_DIST;
            privates.el.style.top = privates.current + privates.UNITS;
            if (!privates.id) {
                privates.id = $P.setInterval(next, privates.GRAN_TIME);
            }
        } else if ((privates.status === 'down') && (privates.current === privates.end)) {
            privates.status = 'up';
            $R.resetInterval(privates);
            $P.setTimeout(next, delay);
        } else if ((privates.status === 'up') && (privates.current > privates.start)) {
            privates.current -= privates.GRAN_DIST;
            privates.el.style.top = privates.current + privates.UNITS;
            if (!privates.id) {
                privates.id = $P.setInterval(next, privates.GRAN_TIME);
            }
        } else if ((privates.status === 'up') && (privates.current === privates.start)) {
            $R.resetInterval(privates);
            callback();
        }
    }());
};
4

1 回答 1

2

我不相信你会从 JavaScript 中获得任何性能增强,但为了可读性和可维护性,这肯定是一个很好的做法。

将常量分开可能会很好,因为如果在多个地方使用了该值,则如果需要更新该值,则只需在一处更改即可。它还可以作为其他编码人员(或您自己,将来)的信号,而不是代码中出现的任意数字。

于 2013-07-24T23:41:34.370 回答