1

Я определил свою функцию JavaScript следующим образом:Как вы обрабатываете функции 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 
+0

Пусть это станет для вас уроком! Не тратьте больше, чем за 1 час до вас (поиск, а затем попросите) в stackoverflow. – ChaosPandion

ответ

2

Вы хотите позвонить:

printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon"); 

, как вы сейчас делаете это вы передаете в одной компании «Dell, Microsoft, Apple, Gizmodo, Amazon».

+0

Большое вам спасибо! Ты спас мне жизнь, потому что я собирался это взять! –

1

Попробуйте это:

printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon"); 
3

можно передать одну строку, что происходит, чтобы содержать 4 запятые.
Следовательно, первый параметр содержит эту единственную строку, а остальные 4 не определены. (Sisnce вы дали только одно значение)
Поскольку параметры Javascript являются необязательными, вы не получаете ошибку, не передавая значения для других параметров.

Вам необходимо пройти 5 различных строк с запятыми между ними, как это:

printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon"); 
+1

+1 для дополнительного объяснения. – ChaosPandion

0

Дополнительная информация:

Способ использовать функцию с параметром, как отделенная строкой запятых:

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");

В противном случае многофункциональные параметров, используя внутренние аргументы вар :

function printCompanyName() 
{ 
    for(var i in arguments) { 
     document.write("<p>" + arguments[i] + "</p>"); 
    } 
} 

пример: printCompanyName('Dell', 'Microsoft', 'Apple', 'Gizmodo', 'Amazon'); juste, как сказал Слакс.

Смежные вопросы