Javascript函数格式化

时间:2011-05-20 13:33:09

标签: javascript

我担心我的条件格式不正确。
这看起来对你好吗?

function validateCoupon( form ){

if (form.textCoupon.value.length ){

    if (form.textCoupon.value.toLowerCase() == "Item01") {
    _gaq.push(['_trackEvent', 'Coupon', 'Activated', 'Item01']);
    }

    if (form.textCoupon.value.toLowerCase() == "Item02") {
    _gaq.push(['_trackEvent', 'Coupon', 'Activated', 'Item02']);
    }

$.get( "/include/checkCoupon.php", { coupon: form.textCoupon.value }, validateShipping );
}
     else {
    form.textCoupon.style.border = '';
    validateShipping( "yes" );
     }
return false; 
}

4 个答案:

答案 0 :(得分:1)

好吧,某些内容似乎是一种冗余:form.textCoupon.value可以是 Item01 Item02 。如果它是一个它不可能是另一个,所以我建议你一个开关声明。

另一个问题是,如果您拨打.toLowerCase(),则永远不会返回 Item01 ,但 item01 ,字符串相等性区分大小写。可以将此函数调用到条件的两个部分,也可以不使用它。

答案 1 :(得分:0)

源代码的格式化与JavaScript运行时无关。这只是个人品味的问题。

答案 2 :(得分:0)

避免缩进标签:它们在所有平台上都不会以相同的方式呈现。

答案 3 :(得分:0)

如果这是我的代码,那就是我写的方式:

var validateCoupon = function (form) {
    var textCoupon = form.textCoupon,
        value = textCoupon.value,
        track = function (value) {
            _gaq.push(['_trackEvent', 'Coupon', 'Activated', value]);
        };

    if (value.length) {
        if (value === 'Item01' || value === 'Item02') {
            track(value);
        }

        $.get('/include/checkCoupon.php', { coupon: value }, validateShipping);
    } else {
        textCoupon.style.border = '';
        validateShipping('yes');
    }

    return false;
};