Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

269
Visualizações
¿Cómo poner correctamente la función en el objeto Javascript por método?

Quiero hacer un método de objeto por función debido a muchos objetos que tengo que poner. Lo hago paso a paso desde las instrucciones, pero este método no funciona para mí. Creo que el principal problema está en función en función. Quiero que todos los objetos tengan su valor de la segunda función, así que nombro los campos "A", "B", "C", "D".

 function pol () { this.name = name; this.moc = moc; this.square = square; this.A = A; this.B = B; this.C = C; this.D = D; this.price = function(){ if(wynik1 >18000){ return A;} if(wynik1 >10000){ return B;} if(wynik1 >5000){ return C;} if(wynik1>3000){ return D;} })(); } var Bingo = new pol ("Psyche", 370, 1.7, 4000, 4200, 4600, 5000); var Ringo = new pol("Psyche Myche", 370, 1.7, 4000, 4200, 4600, 5000); var Zingo = new pol("Psyche Ryche", 370, 1.7, 4000, 4200, 4600, 5000); var moc = pol.Ringo.moc var pow = pol.Ringo.square var prices = pol.Ringo.price();

Tengo un problema en este paso, pero mi próximo paso es

 var moc = function (){ if(k =="A"){return: pol.Ringo.moc} if(k =="A"){return: pol.Bingo.moc} if(k =="A"){return: pol.Zingo.moc} }();

es posible?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Observe que cuando ejecuta:

 var Ringo = new pol("Psyche Myche", 370, 1.7, 4000, 4200, 4600, 5000);

ha agregado entradas en este constructor pol . Según esa lógica, también debe tener parámetros definidos en el constructor pol como:

 function pol (name, moc, square, A, B, C, D) {...}

Como nota al margen, tenga cuidado con la línea: var prices = pol.Ringo.price(); Usted define this.price como:

 function(){ if(wynik1 >18000){ return A;} if(wynik1 >10000){ return B;} if(wynik1 >5000){ return C;} if(wynik1>3000){ return D;} })();

Esos paréntesis finales hacen que esta función devuelva un valor en lugar de establecer this.price en una función . Notará que copié el error de sintaxis (el paréntesis único después del cierre de la función) porque eso decide si devolverá un valor o no. Si elimina ese paréntesis, también debe eliminar el () . Decide si se supone que este this.price es una función o un valor. Basado en el hecho de que probó pol.Ringo.price() , probablemente quiera que sea una función como (también tenga en cuenta el parámetro agregado de wynik1 (suponiendo que luego llame a Ringo.price(some number) ):

 this.price = function(wynik1) { if(wynik1 >18000){ return A;} if(wynik1 >10000){ return B;} if(wynik1 >5000){ return C;} if(wynik1>3000){ return D;} }; // no additional parentheses

La función this.price tampoco debería usar A , B , C y D . En su lugar, debería acceder a los valores específicos que están conectados con un constructor pol específico : this.A , this.B , this.C y this.D .

La nota final es que el uso de pol.Ringo.moc (o cualquiera de sus otros parámetros no funcionará. Dado que pol es un constructor, cuando crea un new pol , no hay conexión con la variable pol . Ringo ahora señalará a un almacenamiento diferente que tiene toda la información copiada, luego se establece en función de los parámetros que obtiene en new pol(...) En su lugar, puede acceder a cualquiera de sus nuevas construcciones pol simplemente usando el nombre de la variable y haciendo algo como:

 var moc = Ringo.moc var pow = Ringo.square var prices = Ringo.price();
about 4 years ago · Juan Pablo Isaza Relatório

0

finalmente, con su ayuda, logré solucionarlo pero no entiendo por qué funciona.

 var Ringo = new pol("Psyche", 370, 1.7, 4000, 4200, 4600, 5000); var prices = Ringo.price(4000, 4200, 4600, 5000);

en Ringo.price(); Puedo poner cualquier número y funciona como 1, 2, 3, 4, pero si pongo "a", "b", "c", "d" o vacío, no. ¿Por qué no puedo simplemente ponerlo ahí?

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda