¿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.location
es 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.URL
para 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.href
o en su document.location.pathname
lugar.
En clausula si, usar ()
. Por ejemplo:
stringtorray = "xxxx,yyyyy,zzzzz";
if (xxx && (stringtoarray.split(',') + "")) { ...
document.location
es un objeto. Prueba:var string=document.location.href