回答:
これを変える...
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