是否可以将变量传递给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个变量(BuyItNowPrice
,StartingPrice
,Reserve
)重复9次,每个函数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);