JS:functionname(“yes / no”);

时间:2010-08-26 16:35:13

标签: javascript

我想把我的两个功能合二为一。 他们现在看起来像这样:

function MeYouFriend(){
    $.ajax({ 
       type: "POST",
       url: "misc/AddFriend.php",
    data: {
    mode: 'ajax',
    friend: 'ignore',
    uID : $('#uID').val(),
    fID : $('#fID').val()
    },
       success: function(msg){
$('#friendsPop').jGrowl('close');
        }
     });
}
function MeYouFriendY(){
    $.ajax({ 
       type: "POST",
       url: "misc/AddFriend.php",
    data: {
    mode: 'ajax',
        friend: 'confirm',
    uID : $('#uID').val(),
    fID : $('#fID').val()
    },
       success: function(msg){
$('#friendsPop').jGrowl('close');
        }
     });
}

区别仅在于朋友:'确认'和朋友:'忽略',我如何将它们组合在一起并使其变得简单?

3 个答案:

答案 0 :(得分:2)

将您的电话改为

MeYouFriend(true) //To Confirm
MeYouFriend(false) //To Ignore

比改变接受参数的功能。

function MeYouFriend(confirm){
    var c = confirm ? 'confirm' : 'ignore';

    $.ajax({ 
       type: "POST",
       url: "misc/AddFriend.php",
       data: {
          mode: 'ajax',
          friend: c,
          uID : $('#uID').val(),
          fID : $('#fID').val()
       },
       success: function(msg){
           $('#friendsPop').jGrowl('close');
        }
     });
}

替代略微更紧凑的版本

function MeYouFriend(confirm){
    $.ajax({ 
       type: "POST",
       url: "misc/AddFriend.php",
       data: {
          mode: 'ajax',
          friend: confirm ? 'confirm' : 'ignore',
          uID : $('#uID').val(),
          fID : $('#fID').val()
       },
       success: function(msg){
           $('#friendsPop').jGrowl('close');
        }
     });
}

答案 1 :(得分:1)

您可以将字符串值作为参数传递:

function MeYouFriend(friend){
    $.ajax({ 
       type: "POST",
       url: "misc/AddFriend.php",
    data: {
    mode: 'ajax',
        friend: friend,
    uID : $('#uID').val(),
    fID : $('#fID').val()
    },
       success: function(msg){
$('#friendsPop').jGrowl('close');
        }
     });
}
然后你打电话 MeYouFriend('ignore')MeYouFriend('confirm')

答案 2 :(得分:-1)

你可以添加一个参数,并根据它的内容决定做什么:

function MeYouFriend(doConfirm){
    $.ajax({ 
       type: "POST",
       url: "misc/AddFriend.php",
    data: {
    mode: 'ajax',
    friend: doConfirm ? 'confirm' : 'ignore',
    uID : $('#uID').val(),
    fID : $('#fID').val()
    },
       success: function(msg){
    $('#friendsPop').jGrowl('close');
        }
     });
}

但是,您可能希望创建两种访问方法,使您的代码更易于阅读,您或其他人不必关心参数内容:

function MeYouFriendConfirm() {
    MeYouFriend(true);
}
function MeYouFriendIgnore() {
    MeYouFriend(false);
}