A diferencia de PHP, en JavaScript las variables pueden o no ser declaradas. Se declaran colocando la palabra
var
antes de ellas y un espacio que las separe. Si las declaras, defines su alcance. Por ejemplo, si declaras variables dentro de una función, no podrás utilizarlas fuera de ella, pero si las declaras fuera de cualquier función, su ámbito será global o público y podrás utilizarlas incluso dentro de las funciones. Te aconsejo declararlas, tal y como lo indica
el manual.
Código Javascript
:
Ver originalvar nombre = "Juan", edad = 30;
Como veo que recibes valores mediante el método
GET
, puedes tomarlos desde la URI. El siguiente algoritmo te sirve para eso:
Código Javascript
:
Ver originalvar search = location.search,
pos = search.indexOf("?"),
query = search.substr(pos + 1).split("&"),
$_GET = {}, prop, par;
for (prop in query){
par = query[prop].split("=");
$_GET[par[0]] = par[1];
}
En la primera línea obtenemos la cadena de consulta de la URI (
location.search
) la cual posee el "?" que separa la cadena de consulta del resto de la URI, como en
http://www.ejemplo.com?foo=bar&bin=baz
. Enseguida, tomamos la posición que ocupa el "?" (
.indexOf()
) en el valor previamente tomado. A continuación, tomamos la parte de la cadena de consulta (
.substr()
) que empieza desde la siguiente ubicación a partir del "?", lo que en el ejemplo sería
foo=bar&bin=baz
y ya teniendo esta cadena, la separamos a partir del "&" (
.split()
), generándose un array con cada par variable-valor, resultando en algo como esto:
["foo=bar", "bin=baz"]
.
Luego de declarar algunas variables, procedemos a recorrer el array previamente generado. En cada iteración, separamos a cada par variable-valor a partir del signo de igualdad, obteniendo un array en el cual el nombre de la variable ocupará la posición cero y el valor, la posición uno. Se los asignamos a
$_GET
de tal forma que el nombre de la variable ahora será un atributo del objeto literal
$_GET
, mientras que el valor será el que le corresponda.
El equivalente de la función
str_replace()
es el método
.replace()
, el cual, para tu caso, tendrás que utilizarlo así:
Aunque viendo la secuencia de reemplazos, sería mejor si utilizarás una
expresión regular, misma que puedes utilizar con el método en mención.
Código Javascript
:
Ver originals.replace(/[":\.,;(Gs)+]+/g, "");
En esa línea se eliminarán todos los valores en cuestión y así evitarías colocar tantas instrucciones para hacer lo mismo.
Y para verificar si una variable está definida y que su valor no sea nulo, necesitas comprobar que su tipo (
typeof
) no sea
undefined
, es decir, indefinido, pero como veo que buscas obtener lo contrario, solo tendrías que hacer esto:
Código Javascript
:
Ver originalif (typeof variable == "undefined"){
//La variable no está definida
}
El resto de operaciones se realizan de la misma manera.
Un saludo