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呢?
<!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呢?
你知道search是用来干啥的么?
<script type="text/javascript">var str="Visit W3School!"
document.write(str.search(/W3School/))</script>
返回-1 表示 要查找的字符串找不到。
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);
}
search()是个方法,如果你要的百度下他的用途,就不会有这样的疑问了。