Pregunta

he definido mi función de JavaScript de la siguiente manera:

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

Y llama de la siguiente manera:

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

Pero consigo el siguiente resultado:

Dell, Microsoft, Apple, Gizmodo, Amazon

undefined

undefined

undefined

undefined

Lo que da !? He estado tratando de resolver esto por horas. Quiero:

Dell
Microsoft
Apple
Gizmodo
Amazon
¿Fue útil?

Solución

¿Quieres llamar:

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

La forma en la que se está haciendo lo que estás pasando en una empresa "Dell, Microsoft, Apple, Gizmodo, el Amazonas".

Otros consejos

Usted está pasando una sola cadena que pasa a contener 4 comas.
Por lo tanto, el primer parámetro contiene ese sola cadena, y la otra 4 no están definidos. (Sisnce solo dio un valor)
Ya que los parámetros de Javascript son opcionales, no obtiene un error al no pasar valores de los otros parámetros.

Tiene que pasar 5 cuerdas diferentes con comas entre ellos, así:

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

Prueba esto:

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

informaciones adicionales:

una manera de utilizar la función con el parámetro como una cadena separada por comas:

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

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

De lo contrario una función de varios parámetros usando los argumentos var interna:

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

Ejemplo: printCompanyName('Dell', 'Microsoft', 'Apple', 'Gizmodo', 'Amazon'); juste como SLaks dijo

.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top