Что вызывает следующую ошибку: "string.split не является функцией" в javascript?
У меня есть следующий код JavaScript, показанный ниже:
<script type="text/javascript">
$(document).ready(function() {
var string = document.location;
var string2 = string.split('/');
});
</script>
Когда я запускаю этот код, в консоли Firebug появляется следующая ошибка:
string.split is not a function
var string2 = string.split('/');
В чем причина этой ошибки?
Ответы
Ответ 1
Измените это...
var string = document.location;
к этому...
var string = document.location + '';
Это связано с тем, что document.location
является объектом Местоположение. По умолчанию .toString()
возвращает местоположение в строковой форме, поэтому конкатенация вызовет это.
Вы также можете использовать document.URL
, чтобы получить строку.
Ответ 2
возможно
string = document.location.href;
arrayOfStrings = string.toString().split('/');
Предполагая, что вам нужен текущий URL
Ответ 3
запустите это
// you'll see that it prints Object
console.log(typeof document.location);
вы хотите document.location.toString()
или document.location.href
Ответ 4
document.location
не является строкой.
Возможно, вы захотите использовать document.location.href
или document.location.pathname
.