どのように多引数のJavaScript関数を処理していますか?
-
19-09-2019 - |
質問
次のように私は私のJavaScript関数を定義しています:
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>");
}
そして、次のように呼ばれます:
printCompanyName("Dell, Microsoft, Apple, Gizmodo, Amazon");
しかし、私は次の出力を取得します:
Dell, Microsoft, Apple, Gizmodo, Amazon
undefined
undefined
undefined
undefined
何ができます!私は時間のためにこれを理解しようとしています。私が欲しいます:
Dell
Microsoft
Apple
Gizmodo
Amazon
解決
あなたは、呼び出したいます:
printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon");
あなたは現在、それをやっている方法を使用すると、1つの会社に渡している「デル、マイクロソフト、アップル、ギズモード、アマゾン」ます。
他のヒント
あなたは4つのカンマが含まれているために起こる単一の文字列を渡している。
したがって、最初のパラメータは、単一の文字列が含まれており、他の4は未定義です。
(Sisnceあなたは一つの値だけを与えました)
Javascriptのパラメータはオプションですので、あなたが他のパラメータの値を渡していないことでエラーを得ることはありません。
あなたはこのような、それらの間のカンマで5つの異なる文字列を渡す必要があります
printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon");
これを試してください:
printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon");
追加情報:
列コンマ分離などのパラメータと機能を使用するための方法:
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");
それ以外の場合は内部の引数VARを用いたマルチパラメータ機能:
function printCompanyName()
{
for(var i in arguments) {
document.write("<p>" + arguments[i] + "</p>");
}
}
exemple:printCompanyName('Dell', 'Microsoft', 'Apple', 'Gizmodo', 'Amazon');
ジュストSLaksなどは言った。
所属していません StackOverflow