簡體   English   中英

了解javascript函數

[英]understanding javascript functions

我有一個小問題要澄清,如果我創建了一個可以接受2個參數的函數,然后進行了一些計算,但是我意識到,我創建的函數也可以在其他部分使用我的代碼,但需要接受一個附加參數,如何使用該函數卻傳遞一個附加參數?

問候凱爾

您基本上可以使用任意數量的參數創建一個函數,然后通過傳遞任意數量的參數來調用它們。

例如:

    function Test(a,b,c)
    {
    }


 //callling Test
  Test(1)
  Test(1,2)  // now inside Function Test c will be undefined
  Test(1,2,3)
  Test(1,2,3,4) // note here i have passed an additonal paramter that will be totally ignored

您可以創建如下所示的計算器

function Calculate(num1, num2, operation)
{
operation= operation || 'sum'; //sum is the default operator
if(operation == 'sum')
{
return num1 + num2 ;
}
if(operation == 'multiply')
{
return num1 * num2 ;
}
if(operation == 'subtract')
{
return num1 - num2 ;
}
if(operation == 'divide')
{
return num1 / num2 ;
}
}


Calculate(1, 2)  //returns 3  -- defaut operator is picked
Calculate(1, 2, 'sum')  //returns 3
Calculate(1, 2, 'multiply')  //returns 2

只需定義函數以接受三個參數即可。

function myFunction (foo, bar, baz) {
    if (typeof baz !== "undefined") {

    } else {

    }
}

Javascript函數可以根據需要使用任意數量的參數。

說你有一個功能:

function fn (a, b, c) {}

但是您只給它兩個參數,最后一個是不確定的。 如果給它提供了比聲明的更多的參數,則可以使用arguments對象訪問它:

arguments[3]將為您提供第四個參數。 參數基本上是一個沒有任何數組函數的數組。 它只是具有length屬性和按順序索引的值(例如0、1、2、3 ...)。

使用此方法的方法是:

function fn (a, b, c) {
    alert(arguments[3]);
}
fn(0, 0, 0, 3);

這將提醒3。

編輯:

這並不完全相關,但是功能與任何其他對象相同。 例如,您可以使用一個函數(上一個示例中的fn),並為其分配屬性。

function fn (a) {alert(a);}
fn.something = 'Hello!!';

然后,您可以執行以下操作:

fn(fn.something);

這將提醒“ Hello !!”。 酷吧?

采用 :

function itsme(arg1, arg2, arg3){
    arg1 = arg1|| false;
    arg2 = arg2|| false;
    arg3 = arg3|| false;
    ...
}

要么

function itsme(){
    arg1 = arguments[0]||false;
    ...
}

暫無
暫無

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

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