这里检索到的内容为什么要满足大于-1这个条件

这里检索到的内容为什么要满足大于-1这个条件

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>userAgent</title> </head> <body> <input type="button" value="点击获取浏览器信息" id="browser"> <script type="text/javascript"> //补充代码 //检测浏览器类型 function getBrowser(){ //获取userAgent属性,toLowerCase转化成小写 var explorer = navigator.userAgent.toLowerCase(),browser; //indexOf方法返回某个指定的字符串值在字符串中首次出现的位置, //如果没有出现,返回值为-1 if(explorer.indexOf("msie")>-1){ browser = "IE"; }else if (explorer.indexOf("chrome")>-1) { browser = "chrome"; }else if(explorer.indexOf("opera")>-1){ browser = "opera"; }else if(explorer.indexOf("safari")>-1){ browser = "safari"; } return browser; //return explorer; } var input = document.getElementById("browser") input.onclick = function(){ var explorer = getBrowser(); alert("您当前使用的是"+explorer+"浏览器"); } //console.log(explorer); //console.log("您当前使用的是"+explorer+"浏览器"); </script> </body> </html>

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕粉 2020-04-02 10:25:10

同学你好,我们先来看一个例子:

http://img1.sycdn.imooc.com//climg/5e854b90090b0b1f04910163.jpg

h和e是str字符串里的,会返回首次检测到的位置,a不是,就返回-1:

http://img1.sycdn.imooc.com//climg/5e854b9709e0eae202900121.jpg

这个navigator.userAgent可以检测到userAgent这个属性的信息,打印出来看下:

http://img1.sycdn.imooc.com//climg/5e854cd009846a0706040150.jpg

http://img1.sycdn.imooc.com//climg/5e854ce309f1fca808510058.jpg

所以通过explorer这个变量,可以检测到是否含有浏览器的信息。

祝学习愉快~

  • 提问者 小鲜花 #1
    老师你说的这些我知道 可是和大于-1有什么关系呢 用大于-1来判断找不到就返回-1吗 为什么要用大于 这是我不明白的 老师
    2020-04-02 14:12:05
  • 好帮手慕粉 回复 提问者 小鲜花 #2
    因为检测到的值,如果不符合条件就是-1,如果符合条件就是检测到的索引值,而索引值是0开始的,只要能检测到,那结果可能就是0,1,2,3······,检测不到就是-1,大于-1则代表不是-1,它可以是0,1,2,3···中的任意一个数,那就是检测到了。同学自己写代码看下indexOf方法的检测结果。
    2020-04-02 14:23:20
好帮手慕粉 2020-04-01 18:10:03

同学你好,代码的注释中已经写了呢:

http://img1.sycdn.imooc.com//climg/5e8467af09f7408f08860207.jpg

indexOf方法如果检测到匹配的内容,则返回字符串中首次出现的位置,如果没有检测到匹配的,则返回-1,大于-1则代表检索到了内容。

祝学习愉快~

  • 提问者 小鲜花 #1
    嗯 老师 我的意思是为什么要用大于-1这个判断
    2020-04-02 08:41:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师