¿Por qué me estoy poniendo ...
TypeError no detectado: string.split no es una función
... cuando corro ...
var string = document.location;
var split = string.split('/');
¿Por qué me estoy poniendo ...
TypeError no detectado: string.split no es una función
... cuando corro ...
var string = document.location;
var split = string.split('/');
Respuestas:
Cambia esto...
var string = document.location;
a esto...
var string = document.location + '';
Esto se debe a que document.locationes un objeto de ubicación . El valor predeterminado .toString()devuelve la ubicación en forma de cadena, por lo que la concatenación lo activará.
También puedes usar document.URLpara obtener una cadena.
toString()lugar de la concatenación hacky?
+ ''es un truco bastante común para la coacción cadena, pero algunas personas prefieren el toString()método. No lo consideraría más peligroso que usar el unario +para la conversión de números.
parseInt()y parseFloat(). También hay Number(). El +es más corta, por supuesto, pero menos legible para alguien no acostumbrado a hacky código o con menos experiencia.
+ ''método no cambia nada para mí en el navegador Chrome, pero lo toString()hace.
document.location no es una cuerda.
Probablemente quieras usar document.location.hrefo en su document.location.pathnamelugar.
En clausula si, usar (). Por ejemplo:
stringtorray = "xxxx,yyyyy,zzzzz";
if (xxx && (stringtoarray.split(',') + "")) { ...
document.locationes un objeto. Prueba:var string=document.location.href