Javascript 函数格式

Javascript function formatting

本文关键字:格式 函数 Javascript      更新时间:2023-09-26

我担心我的if条件格式不正确。
这对你来说合适吗?

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; 
}

嗯,有些东西似乎是冗余的:form.textCoupon.value可能是Item01或Item02如果它是一个,它不可能是另一个,所以我建议你一个switch语句。

另一个问题是,如果您调用.toLowerCase()这永远不会返回 Item01 而是返回 item01并且字符串相等区分大小写。要么对条件的两个部分调用此函数,要么干脆不使用它。

如果这是我的代码,我就是这样写的:

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;
};
源代码

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

避免缩

进中的制表符:它们在所有平台上的呈现方式并不相同。