javascript代码输出结果让人很迷惑!!

love1250 2011-04-15 10:23:26
javascript代码输出结果让人很迷惑!!代码如下:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 创建脚本块 </TITLE>
</HEAD>

<BODY>
<script language="JavaScript">
<!--
var myVariable = "Hello there";
var therePlace = myVariable.search("there");
document.write(therePlace);
//-->
</script>

</BODY>
</HTML>


输出结果应该是therePlace,为什么会是6呢?而我把search("there")改成search("this"),结果怎么会是-1呢?
...全文
227 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
hemingwang0902 2011-04-23
  • 打赏
  • 举报
回复
这个 search 方法类似于 java 中字符串的 indexOf(),如果找到了指定字符串,返回对应的下标(从0开始),如果没有找到,则返回 -1
mymoondance 2011-04-22
  • 打赏
  • 举报
回复
不能这么欺负lz啊
zhangfeng732 2011-04-22
  • 打赏
  • 举报
回复
大家都好可爱
liuzihe1979 2011-04-22
  • 打赏
  • 举报
回复
问题很菜的说
ydwcn 2011-04-22
  • 打赏
  • 举报
回复

search()是个方法,如果你要的百度下他的用途,就不会有这样的疑问了。
rainsilence 2011-04-22
  • 打赏
  • 举报
回复
search在一个字串对象(string object)中查找关键词字串(规范表达式,regular expression),若匹配(即在目标字串中成功找到关键词)则返回关键词在目标字串中第一次出现的位置序列,反之,如果不匹配,就返回-1。以下示例在目标字串“HELLO WORLD!”中查找字母“L”,返回值为2,因为字母“L”第一次出现时其常规序列排在第三位,而JS从0开始起算,字母“H”序列为0,字母“E”为1,字母“L”当然就是2了:

MyStr="HELLO WORLD!";
re="L";
showstr=MyStr.search(re);
alert(showstr);

我们看得出来,search方法只关心有无匹配,一旦找到匹配,就提供返回值,并且立刻中断查找的执行。上例中的目标字串(MyStr)有三个字母“L”,后两个search并不关心,因为条件已经满足,它退出了自身的匹配查找工作。据此原理,当我们只需要验证有无匹配的操作时,用search既简单又高效。以下再给出一个示例,这是一个自定义函数,它使用search方法简捷地完成字符匹配检测操作,若有匹配则将目标字串完整提取出来:

function key_search(re, str){
echo = (str.search(re)!=-1 ? str : "无匹配");
return(echo);
}
shelland 2011-04-22
  • 打赏
  • 举报
回复
lz在欺负JS
pingriver 2011-04-22
  • 打赏
  • 举报
回复
search("there") 查找字符串“there”首次出现的位置,
返回-1 表示 要查找的字符串找不到。
tang3567 2011-04-21
  • 打赏
  • 举报
回复
你好可爱
_thinkinghunter 2011-04-16
  • 打赏
  • 举报
回复
你没看清世界,却说世界欺骗了你。。 ---泰戈尔
tckoo 2011-04-15
  • 打赏
  • 举报
回复
search是查找子字符在字符串中的位置,当然返回的是那个结果了啊。
打字员 2011-04-15
  • 打赏
  • 举报
回复
你想象中它会输出撒???
toury 2011-04-15
  • 打赏
  • 举报
回复
从字符串中寻找指定值的位置,返回数字是正确的,你非要它返回字串,只好自己再写个searchStr()方法了,呵呵
wulinshe 2011-04-15
  • 打赏
  • 举报
回复
输出-1,说明没找到.
输出6,是说明你找的在哪个位置。
knightzhuwei 2011-04-15
  • 打赏
  • 举报
回复

你知道search是用来干啥的么?
neubaixu 2011-04-15
  • 打赏
  • 举报
回复
看一下手册吧
llyy112233 2011-04-15
  • 打赏
  • 举报
回复
ycproc 2011-04-15
  • 打赏
  • 举报
回复
还是 多学学 JS 基础
milkyok 2011-04-15
  • 打赏
  • 举报
回复
查找字符串或出现的位置,一般用indexOf,search()还是用得少
<script type="text/javascript">

var str="Visit W3School!"
document.write(str.search(/W3School/))

</script>
汉尼拔 2011-04-15
  • 打赏
  • 举报
回复
代码是没有问题的,有问题的是你对js的认识.

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧