2016-06-16 6 views
0

Kann eine Funktion in Javascript auf eine Weise definiert werden, dass Attribute in einem Funktionsaufruf optional sind?Javascript-Funktion Aufruf, optionale Attribute zu haben

zum Beispiel habe ich die unten Funktion definiert:

function abc(x1,y1,x2,y2){ 
//execution 
} 

Was ich bin bereit ist, so etwas zu tun:

function abc(x1,y1,x2,y2,id){ 
if(id!=''){ 
//do something 
}else{ 
// do something else 
} 
} 

Funktionsaufruf: abc (1,2,3 , 4);

Funktioniert die obige Funktion noch oder gibt es einen Fehler?

+1

'nie sei '' '', es sei denn, du übergibst eine leere Zeichenfolge. Verwenden Sie stattdessen einen strikten Vergleich mit "undefined". – Teemu

+0

Dies nennt man Parameter. – SLaks

+1

Alle Parameter sind optional in Javascript. Der Standardwert für sie ist "undefiniert". –

Antwort

1

-Test als typeof id !== 'undefined'

function abc(x1, y1, x2, y2, id) { 
 
    if (typeof id !== 'undefined') { 
 
    console.log(id); 
 
    } else { 
 
    console.log(arguments); 
 
    } 
 
} 
 

 
abc(1, 2, 3, 4); 
 
console.log('-------------------'); 
 
abc(1, 2, 3, 4, 'YOUR_ID');

1

Dies ist meine erste Antwort auf Stackoverflow.

+0

Formatierung kommt in der Zeit ;-) –

1

Sie können einen optionalen Parameter einen Standardwert haben, wenn er nicht an die Funktion übergeben wird.

function test(a, b, c = false) { 

} 
1

In JavaScript hat eine Funktion ein Objekt Argumente genannt-in gebaut, können Sie es wie folgt verwenden können:

function abc(x1, y1, x2, y2, id) { 
    if (arguments.length > 4) { 
     //do something 
    } else { 
     // do something else 
    } 
} 

Sie weitere Details können id` werden

here finden
Verwandte Themen