核心对象的连载(String对象)
由于工作原因,一段时间都没有发表文章了。今天趁着点休息的时间,继续我的JS核心对象的讲解。应该说是今天的内容对于我们做开发的人来说非常重要。对的,String对象是我们平时经常要用到的一个对象,我想大家应该不会陌生的,其实在.net中提供的API与JS中方法从功能上是差不多的。好的,下面我先介绍下该对象的一些常用属性和方法,让大家先预热下。
String对象它不是另一个对象的属性,而是一个内置对象,即一串字符字符串输入脚本中时必须位于引号内。
创建字符串对象的两种方法:
1)var a1 = “JavaScript”; //用typeof()可以知道这个是string类型的对象
2)var a1 = new String(“JavaScript”); //这个是object类型的对象
知识的衍生:
<Script language="JavaScript" type="text/javascript">
<!--
var a1 = "javascript";
a1.a="a";
var a2 = new String("javascript");
a2.a="a";
alert(typeof(a1));
alert(typeof(a2));
alert(a1.a); //这里是未定义的,因为是string类型的对象
alert(a2.a); //这里是可以去引用属性的,因为是object类型的对象
//-->
</Script>
属性:
length 字符串中的字符个数.
方法:
改变样式的方法:(在这里要有个印象就好了,下面将有例子说明)
big() 把字符串中的文本变成大字体(相当于<BIG>)
blink() 把字符串中的文本变成闪烁字体(相当于<BLINK>)
bold() 把字符串中的文本变成黑字体相当于(<B>)
fontcolor() 改变字符串中文本的颜色(相当于<FONT COLOR=>)
fontsize() 把字符串中的文本变成指定大小(相当于<FONTSIZE=>)
italics() 把字符串中的文本变成斜字体(相当于<I>)
small() 把字符串中的文本变成小字体(相当于<SMALL>)
strike() 把字符串中的文本变成划掉字体(相当于<STRIKE>)
link() 用来把字符串转换到HTML链接标记中(<A HREF=>)
改变上标、下标的方法:(这两个方法使用的比较的少,但是要用到的时候你会认为很急不知道,还是记下吧)
sup() 把字符串中的文本变成上标(superscript)字体(<SUP>)
sub() 把字符串中的文本变成下标(subscript)字体((SUB>)
经常要用到的方法:(这些方法都是经常会要用到的,所以请务必清楚,后面的例子中也会对这个方法作详细的介绍)
charAt() 寻找字符串中指定位置的一个字符
indexOf() 用来搜索字符串中的某个特殊字符,并返回该字符的索引位置
lastlndexOf() 与indexof相似,但是向后搜索最后一个出现的字符
substring() 返回字符串里指定位置间的一部分字符串
toLowerCase() 把字符串中的文本变成小写
toUpperCase() 把字符串中的文本变成大写
例子:
1、改变样式的例子(我用的是。NET的编辑器,其中的方法都可以智能感知出来,非常之方便!)
<script language=JavaScript>
document.write("helmsman".anchor(top))
document.write("helmsman".link('#top'))
document.write("helmsman".small())
document.write("helmsman".sup())
document.write("helmsman".sub())
document.write("helmsman".fontsize(5))
document.write("helmsman".fontcolor("#ff4292"))
document.write("helmsman".bold())
</script>
2、得到文本域中的字符长度(汉字我是当两个字符处理的,大家可以测试下。)
<textarea name=tx rows="7" cols="31">在这里输入你要测试的字符串</textarea>
<input type=button onclick=len_byte(tx.value) value="查看长度">
<script >
function len_byte(str)
{
var i;
var len=0;
for(i=0;i<str.length;i++)
{
len++;
if(str.charCodeAt(i)>255) //一个汉字等于两个字符
len++;
}
alert('长度为:'+len+'\n对不对');
return(len);
}
</script>
3、浏览器是将多个空格、制表符和换页符当作一格空格处理。(这里大家可能比较难理解,将下面的例子测试下就明白了)
<script>
var a=new String("a degh")
c=a.substring(3)
b=a.length
document.write(b) //结果为9
document.write("["+c+"]") //测试结果是[ degh],中间只有一个空格了,^_^
</script>
4、转换string成int,并比较大小的几种方式:
1)通过eval()来做
<input type=text id=text1>
<input type=text id=text2>
<input value="检测" type=button onclick='if(eval(text1.value)>eval(text2.value)){alert("text1大于text2")}else{alert("text1小于或等于text2")};'>
2)通过除以1,转换成int来做
<input type=text id=text1>
<input type=text id=text2>
<input value="检测" type=button onclick='if((text1.value/1)>(text2.value/1)){alert("text1大于text2")}else{alert("text1小于或等于text2")};'>
3)通过parseInt方法来做
<input type=text id=text1>
<input type=text id=text2>
<input value="检测" type=button onclick='if(parseInt(text1.value)>parseInt(text2.value)){alert("text1大于text2")}else{alert("text1小于或等于text2")};'>