Javascript函数不会在Return上退出

时间:2017-06-22 21:50:32

标签: javascript

我有一个javascript函数,我试图强制退出,基于调用站点

function radSsnType_OnClick(obj, ssnValue) {

    if (('<%=(MySite.IsThis).ToString().ToLower() %>') == 'true') return;


   var value = $('#<%=mdSsn.ChildControl.ClientID%>').val().replace(/[^a-zA-Z0-9]/g, "");

   if (!obj.checked || value == ssnValue)
       return;


        if (value == null ||
            trim(value).length <= 0 ||
            value == '<%=SSNNone%>' ||
            value == '<%=SSNUnknown%>' ||
            confirm("Would you like to clear the SSN?")) {
            var target = $find('<%=mdSsn.ChildOtherControl.ClientID%>');
            target.loadValue(ssnValue, target._LogicFirstPos);
            return;
        }




   obj.checked = false;

}

第一行绝对正确。但是返回没有退出,然后它会运行该函数并尝试设置每个var的每个实例,这会导致错误。我需要强制退出此函数,因为在这种情况下,这些变量不存在。为什么返回没有退出函数?

1 个答案:

答案 0 :(得分:1)

第一行绝对不是'true'

如果是这样的话,那么回报就会退出&#34;退出&#34;功能

考虑true != 'true'

例如true == 'true'将返回false

所以无论你使用哪种语言

('<%=(MySite.IsThis).ToString().ToLower() %>') != 'true'

您可以通过将值打印到控制台来轻松验证这一点,如:

console.log('<%=(MySite.IsThis).ToString().ToLower() %>')