核心对象的连载(String对象)

      由于工作原因,一段时间都没有发表文章了。今天趁着点休息的时间,继续我的JS核心对象的讲解。应该说是今天的内容对于我们做开发的人来说非常重要。对的,String对象是我们平时经常要用到的一个对象,我想大家应该不会陌生的,其实在.net中提供的APIJS中方法从功能上是差不多的。好的,下面我先介绍下该对象的一些常用属性和方法,让大家先预热下。

      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、转换stringint,并比较大小的几种方式:

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")};'>

posted @ 2006-10-25 15:39  MSDI  阅读(1538)  评论(5编辑  收藏  举报