[英]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.