Javascript函数格式化

Javascript函数格式化,javascript,Javascript,我担心我的条件是否格式不正确。 你觉得这个合适吗 function validateCoupon( form ){ if (form.textCoupon.value.length ){ if (form.textCoupon.value.toLowerCase() == "Item01") { _gaq.push(['_trackEvent', 'Coupon', 'Activated', 'Item01']); } if (form.textCoupon

我担心我的条件是否格式不正确。
你觉得这个合适吗

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

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

好吧,有些东西似乎是多余的:
form.textcupon.value
可以是Item01Item02。如果是一个,就不可能是另一个,因此我建议您使用开关语句


另一个问题是,如果调用
.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;
};

您的toLowerCase=='Item01'检查将永远不会通过,因为Item01不是小写。感谢Eli的帮助,这绝对是完美的!如果问题太多就没有了=)啊,我明白了。那么缩进代码的IDE方式呢?Visual Studio、Eclipse等是否允许这种缩进方式?确切地说:Visual Studio和Eclipse都可以配置为插入空格而不是选项卡。