Чому я отримую ...
Uncaught TypeError: string.split не є функцією
... коли я біжу ...
var string = document.location;
var split = string.split('/');
Чому я отримую ...
Uncaught TypeError: string.split не є функцією
... коли я біжу ...
var string = document.location;
var split = string.split('/');
Відповіді:
Змінити це ...
var string = document.location;
до цього...
var string = document.location + '';
Це тому, що document.locationє об’єктом Location . За замовчуванням .toString()повертає розташування у рядковій формі, тому зв'язок спровокує це.
Ви також можете використовувати document.URLрядок.
toString()замість хакітської конкатенації?
+ ''досить поширений трюк для струнного примусу, але деякі люди віддають перевагу toString()методу. Я б не вважав це більш хитким, ніж використання унарного +для перетворення чисел.
parseInt()і parseFloat(). Є також Number(). Це +, звичайно, коротше, але менш читабельне для тих, хто не звик до хакі-коду чи менш досвідченого.
+ ''метод нічого для мене не зміниться в браузері Chrome , але toString()робить.
document.location не рядок.
Ви, мабуть, хочете використовувати document.location.hrefабо document.location.pathnameзамість цього.
У клаузулі, якщо, використовуйте (). Наприклад:
stringtorray = "xxxx,yyyyy,zzzzz";
if (xxx && (stringtoarray.split(',') + "")) { ...
document.locationє об’єктом. Спробуйте:var string=document.location.href