簡體   English   中英

如何將變量傳遞給 JavaScript function?

[英]How do I pass variables into a JavaScript function?

是否可以將變量傳遞給 js function? 見代碼:

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()); 等並將它們放在function之外,然后將它們調入。

原因是我有 3 個這樣的函數,所以這 3 個變量( BuyItNowPriceStartingPriceReserve )重復 9 次,每個 function 中重復 3 個。

有沒有辦法做到這一點?

任何幫助將不勝感激,謝謝

您可以通過將這些變量從 fn 中取出來使其成為全局變量

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

現在您可以在所有三個函數中使用這些變量。

使這三個變量成為全局變量。 要使它們成為全局變量,您只需要將這些變量放在任何 function 之外。 在 javascript 中,如果任何變量沒有出現在任何函數中,則其 scope 是全局變量。

要回答您的第一個問題,是的,可以將變量傳遞給 javascript 中的函數。 您可以將變量作為 arguments 發送到 function。

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

下面是一個將變量傳遞到 function 的簡單示例。 當您聲明 function 時,您還可以通過將 function 放在 function() 括號內來聲明一些 arguments。 您可以使用您喜歡的任何字母/名稱來表示 arguments - 當您調用 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM