Foros del Web » Programando para Internet » Javascript »

Parámetros sin lógica

Estas en el tema de Parámetros sin lógica en el foro de Javascript en Foros del Web. Hola, Tengo un codigo en Javascript, y no entiendo como funcionan estos parametros. Mi confusión es en la línea "function (a,b) {" Cuando hago debug, ...
  #1 (permalink)  
Antiguo 17/07/2013, 14:22
 
Fecha de Ingreso: julio-2013
Ubicación: NO DISPONIBLE
Mensajes: 1
Antigüedad: 10 años, 9 meses
Puntos: 0
Parámetros sin lógica

Hola,
Tengo un codigo en Javascript, y no entiendo como funcionan estos parametros.
Mi confusión es en la línea "function (a,b) {"
Cuando hago debug, imprimiendo los valores de "a" y "b", se muestran los valores de la estructura "entity", y no entiendo como pueden llegar estos valores ahí. En "a" se ponen los valores """, "<" y ">", y en "b" se ponen los valores "quot", "lt" y "gt"
Alguien tiene alguna idea de cómo llegan los parámetros de "a" y "b" a obtener sus valores?
Anexo el código ...

Código JavaScript:
Ver original
  1. String.method('deentityify', function () {
  2.     "use strict";
  3.  
  4.     var entity = { quot: '"', lt: '<', gt: '>'
  5.             };
  6. // Return the deentityify method.
  7.     return function () {
  8.  
  9.         return this.replace(/&([^&;]+);/g,
  10.             function (a, b) {
  11.                   var r = entity[b];
  12.                 document.writeln(' valor de a ' + a + ' valor de b ' + b);
  13.                 return typeof r === 'string' ? r : a;
  14.                 }
  15.             );
  16.     };
  17. }( ));

Última edición por razpeitia; 17/07/2013 a las 15:02
  #2 (permalink)  
Antiguo 17/07/2013, 14:58
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Parámetros sin lógica

Java != JavaScript

Movido desde el foro de Java.
  #3 (permalink)  
Antiguo 17/07/2013, 15:28
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Parámetros sin lógica

buenas...
¡el script tiene toda su lógica! sucede que el segundo parámetro del método replace admite dos tipos de argumentos: un string o una función. cuando le pasas una función, dicha función recibe tres o más parámetros: el string coincidido por la expresión regular, el string coincidido en las subexpresiones por el orden en que aparecen (paréntesis) —aquí puede generarse más de un argumento—, el índice donde coincide, y el string orginal. entonces, según el script, a sería todo el string coincidido, y b el string coincidido en la subexpresión ([^&;]+) . luego los valores del objeto entity se obtiene en conjunto con el valor de la variable b.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: java, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:52.