- 締切済み
Ajaxに関して。
Ajaxに関するサンプルを練習で作成していたところ、 if (navigator.appName.indexOf("Microsoft") > -1) { xmlhttp.onreadystatechange = showText; } else { .... } ってい書いてあるところがあったのですが、"> -1"のマイナス1より大きいっていうのはどういう意味なんでしょう?よくわからないです・・ 内容が不十分かもしれませんが、わかるかたいらっしゃいますか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hymat
- ベストアンサー率58% (95/162)
~.indexOf("Microsoft") は、どこに"Microsoft"という文字があるか、ですね。 IEでないブラウザーならば、ブラウザー名の中に"Microsoft"という文字はないので、indexOf("Microsoft")は-1になります。ブラウザー名は、alert(navigator.appName); と書けば、見ることができます。 IEならブラウザー名は"Microsoft Internet Explorer"なので、"Microsoft"という文字が先頭(0文字め)にありますから、indexOf("Microsoft")は0になります。もし2文字めにあれば1になり、3文字めにあれば2ですね。いずれも>-1です。 要するに、"Microsoft"という文字が含まれているかどうかを判定することで、IEかどうかを識別してるわけです。
- yambejp
- ベストアンサー率51% (3827/7415)
indexOfの使い方がわからないということでよろしいですか? <script> var str1="abc"; var str2="bc"; document.write(str1+":"+str2+"->"+str1.indexOf(str2)+"<br>"); var str2="xx"; document.write(str1+":"+str2+"->"+str1.indexOf(str2)+"<br>"); </script> indexOfはマッチする箇所を返し、マッチしない場合は-1を返します -1より大きいということはマッチしていることをしまします。 具体的には、navigator.appNameに"Microsoft"が含まれているかどうかを調べています
- dscripty
- ベストアンサー率51% (166/325)
MDN > Docs > JavaScript > JavaScript Reference > Global Objects > String > indexOf https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/indexOf |概要 | |呼び出す String オブジェクト中で、指定された値が最後に現れるインデックスを返します。 |値が見つけられない場合、-1 を返します。 |呼び出す文字列は、fromIndex から検索を始め、逆方向に検索されます。