indexOf が悪いのか、 -1 を true と扱う仕様が悪いのか、たんに私の書き方が悪いのか…。 自分のだけじゃなくて他人の間違いもよく見ます。
if(navigator.userAgent.toLowerCase().indexOf("windows")){ windowsFunction(); } if(navigator.userAgent.toLowerCase().indexOf("iOS")) { iOSFunction(); } if(navigator.userAgent.toLowerCase().indexOf("mac")) { //... } if(navigator.userAgent.toLowerCase().indexOf("android")) { //... }
使い方ヒント: 「これは臭う」という行を見付けたら、各行のをクリックしてマーキングしておきましょう(要Twitter OAuth認証)
見つかったかどうかじゃなくて位置を返すメソッドでしょ?位置のみを条件式に単体で突っ込むのって、仮に正しく動いたとしても意図が伝わらないコードだと思うけどな。
str.indexOf(q) !== -1 よりは /q/.test(str) って書きたい.ていうか indexOf を文字列が存在するかを調べるのに使うのはいくない
何が悪いかって聞かれたら、これは「貴方の書き方が悪い」としか。indexOf の意図された使い方ではないよね。あと非零の整数が true 扱いなのは割とどの言語でも常識(Ruby は例外で 0 も true 扱い)。
コメント投稿には、twitter認証が必要です。
Twitter認証
navigator.userAgent.toLowerCase().indexOf("iOS") これって常に-1じゃないかな