回答:
これを変える...
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代わりに使用したいでしょう。
clausule ifでは、を使用します()。例えば:
stringtorray = "xxxx,yyyyy,zzzzz";
if (xxx && (stringtoarray.split(',') + "")) { ...
document.locationオブジェクトです。試してみてくださいvar string=document.location.href