Wie gehen Sie mit JavaScript-Funktionen Multi-Argument?
-
19-09-2019 - |
Frage
Ich habe meine JavaScript-Funktion wie folgt definiert:
function printCompanyName(company1, company2, company3, company4, company5)
{
document.write("<p>" + company1 + "</p>");
document.write("<p>" + company2 + "</p>");
document.write("<p>" + company3 + "</p>");
document.write("<p>" + company4 + "</p>");
document.write("<p>" + company5 + "</p>");
}
Und nannte es wie folgt:
printCompanyName("Dell, Microsoft, Apple, Gizmodo, Amazon");
Aber ich bekomme die folgende Ausgabe:
Dell, Microsoft, Apple, Gizmodo, Amazon
undefined
undefined
undefined
undefined
Was gibt !? Ich habe versucht, dies für Stunden, um herauszufinden. Ich möchte:
Dell
Microsoft
Apple
Gizmodo
Amazon
Lösung
Sie anrufen möchten:
printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon");
Die Art und Weise, die Sie gerade es tun Sie vorbei in einem Unternehmen "Dell, Microsoft, Apple, Gizmodo, Amazon".
Andere Tipps
Sie vorbei eine einzelne Zeichenfolge, die 4 Kommata enthalten passiert.
Daher enthält der erste Parameter, die Einzelsaite, und die anderen 4 sind nicht definiert. (Sisnce Sie gab nur einen Wert)
Da Javascript Parameter optional sind, erhalten Sie einen Fehler nicht durch nicht-Werte für die anderen Parameter.
Sie müssen 5 verschiedene Strings mit Kommas zwischen ihnen zu übergeben, wie folgt aus:
printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon");
Versuchen Sie folgendes:
printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon");
Weitere Informationen Weitere Informationen:
Eine Möglichkeit, die Funktion mit dem Parameter zu verwenden, als String Komma getrennt:
function printCompanyName(names)
{
// also check the type of names (you know "if it is a string object")
var data = names.split(',');
for(var i in data) {
document.write("<p>" + data[i].trim() + "</p>");
}
}
exemple: printCompanyName("Dell, Microsoft, Apple, Gizmodo, Amazon");
Ansonsten ist eine Multi-Parameter-Funktion der internen Argumente var:
function printCompanyName()
{
for(var i in arguments) {
document.write("<p>" + arguments[i] + "</p>");
}
}
exemple: printCompanyName('Dell', 'Microsoft', 'Apple', 'Gizmodo', 'Amazon');
juste wie SLaks sagte