• 締切済み

Ajaxに関して。

Ajaxに関するサンプルを練習で作成していたところ、 if (navigator.appName.indexOf("Microsoft") > -1) { xmlhttp.onreadystatechange = showText; } else { .... } ってい書いてあるところがあったのですが、"> -1"のマイナス1より大きいっていうのはどういう意味なんでしょう?よくわからないです・・ 内容が不十分かもしれませんが、わかるかたいらっしゃいますか?

みんなの回答

  • hymat
  • ベストアンサー率58% (95/162)
回答No.3

~.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)
回答No.2

indexOfの使い方がわからないということでよろしいですか? <script> var str1="abc"; var str2="bc"; document.write(str1+":"+str2+"-&gt;"+str1.indexOf(str2)+"<br>"); var str2="xx"; document.write(str1+":"+str2+"-&gt;"+str1.indexOf(str2)+"<br>"); </script> indexOfはマッチする箇所を返し、マッチしない場合は-1を返します -1より大きいということはマッチしていることをしまします。 具体的には、navigator.appNameに"Microsoft"が含まれているかどうかを調べています

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.1

MDN > Docs > JavaScript > JavaScript Reference > Global Objects > String > indexOf https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/indexOf |概要 | |呼び出す String オブジェクト中で、指定された値が最後に現れるインデックスを返します。 |値が見つけられない場合、-1 を返します。 |呼び出す文字列は、fromIndex から検索を始め、逆方向に検索されます。

関連するQ&A