如何将变量传递给JavaScript函数?

时间:2011-04-27 09:00:18

标签: javascript

是否可以将变量传递给js函数?见代码:

function checkStartPrice (){
    if ($('#StartingPrice')[0].value.length == 0){
        alert("The 'Starting Price' cannot be left empty!");
        return false;
     } else {
        var BuyItNowPrice = parseFloat($('#BuyItNowPrice').val());
        var StartingPrice = parseFloat($('#StartingPrice').val());
        var Reserve = parseFloat($('#Reserve').val());
        if((BuyItNowPrice <= StartingPrice) && (StartingPrice > 0)){
            alert("The 'Buy It Now' price must be higher...");
            return false;
        }
        if((Reserve <= StartingPrice) && (StartingPrice > 0)){
            alert("Your 'Reserve Price' must be higher...");
            return false;
        }
        return true;
    }
}

我想把var BuyItNowPrice = parseFloat($('#BuyItNowPrice').val());等放在函数外面,然后调用它们。

原因是我有3个这样的函数,所以这3个变量(BuyItNowPriceStartingPriceReserve)重复9次,每个函数3次。

有没有办法做到这一点?

任何帮助都会得到极大的赞赏,谢谢

3 个答案:

答案 0 :(得分:1)

您可以通过将其从fn中取出来使这些变量成为全局变量

    BuyItNowPrice = parseFloat($('#BuyItNowPrice').val());
    StartingPrice = parseFloat($('#StartingPrice').val());
    Reserve = parseFloat($('#Reserve').val());
    fn1(){}     
    fn2(){}
    fn3(){}

现在,您可以在所有三个函数中使用这些变量。

答案 1 :(得分:1)

将这三个变量全局化。要使它们全局化,您只需将这些变量置于任何函数之外。在javascript中,如果任何变量没有出现在任何函数中,那么它的范围是全局的。

要回答您的第一个问题,是的,可以将变量传递给javascript中的函数。你可以将变量作为参数发送给函数。

示例:function myfucn(a, b) { //you implementation here.}

答案 2 :(得分:1)

下面是将变量传递给函数的简单示例。声明函数时,还可以通过将函数放在function()括号中来声明函数的某些参数。您可以使用您喜欢的任何字母/名称来表示参数 - 当您调用函数时,您将传递变量。

// put arguments into the function declaration - a,b,c
function myfunction(a, b, c) {

// use these arguments within the function
return (a+b+c);
}

// declare the variables outside the function
var first_variable = 1;
var second_variable = 2;
var third_variable = 3;

// returns '6'
myfunction(first_variable, second_variable, third_variable);