web-dev-qa-db-ja.com

「string.splitは関数ではありません」というエラーの原因は何ですか?

どうして...

キャッチされないTypeError:string.splitは関数ではありません

...実行すると...

var string = document.location;
var split = string.split('/');
88
Eric

これを変更...

var string = document.location;

これに...

var string = document.location + '';

これは、document.locationLocationオブジェクト であるためです。デフォルトの.toString()は文字列形式で場所を返すため、連結によってそれがトリガーされます。


document.URL を使用して文字列を取得することもできます。

174
user1106925

多分

string = document.location.href;
arrayOfStrings = string.toString().split('/');

あなたが現在のURLが欲しいと仮定して

59
chepe263

これを実行する

// you'll see that it prints Object
console.log(typeof document.location);

document.location.toString()またはdocument.location.hrefが必要です

10
dstarh

document.locationは文字列ではありません。

おそらく、代わりにdocument.location.hrefまたはdocument.location.pathnameを使用したいでしょう。

5
Denys Séguret