Почему я получаю ...
Uncaught TypeError: string.split не является функцией
... когда я бегу ...
var string = document.location;
var split = string.split('/');
javascript
jquery
split
Эрик
источник
источник
document.location
это объект. Попробуйте:var string=document.location.href
Ответы:
Измените это ...
к этому...
Это потому, что
document.location
это объект Location . По умолчанию.toString()
местоположение возвращается в строковой форме, поэтому конкатенация вызовет это.Вы также можете использовать
document.URL
для получения строки.источник
toString()
вместо хакерской конкатенации?+ ''
довольно распространенный прием для приведения строк, но некоторые люди предпочитают этотtoString()
метод. Я бы не считал это более хакерским, чем использование унарных+
чисел для преобразования чисел.parseInt()
иparseFloat()
. Также естьNumber()
.+
Короче конечно, но менее читабельным для кого - то не используется для Hacky кода или менее опытных.+ ''
метод ничего не меняет в браузере Chrome, но меняетtoString()
.my_string + "".split()
? В таком случае вам нужны парные скобки, поскольку+
их приоритет ниже, чем у.
. Вот так:(my_string + "").split()
может быть
предполагая, что вам нужен текущий URL
источник
запустить это
ты хочешь
document.location.toString()
илиdocument.location.href
источник
document.location
не строка.Вы, вероятно, захотите использовать
document.location.href
илиdocument.location.pathname
вместо него.источник
В clausule if используйте
()
. Например:источник