javascript-第五节-字符串、字符数组

来源:互联网 发布:2016软件测试薪资 编辑:程序博客网 时间:2024/06/11 20:41

字符串和字符数组

1、 定义:字符串的核心是字符数组。不等于字符数组

 

(1)    定义字符串

例子:

定义:var str = "hello world";

输出:

Document.write(str);

 

(2) 定义字符数组

定义一:

var str1 =["h","e","l","l","o","","w","o","r","l","d"];

 

定义二:

var str2 = new String();

str[0]=”a”;

str[1]=”b”;

str[3]=”c”;

……………..

 

输出:

for(var n=0;n<str1.length;n++){

   document.write(str1[n]);

}

 

2、 字符串的常用函数

1)字符串名称.substr(X,N);

输出一段字符串,从下标X开始,向后输出N个

若:字符串名称.substr(n);  表示从下标n开始,输出到最后

 

例子:

var str="Hello World!";

//输出一段字符串,从n开始向后输出x个

document.write(str.substr(6,6));

 

2)字符串名称.charAt(n);

输出字符串中第n个字符

例子:

var str="Hello World!";

//输出字符串中的第n个字符

document.write(str.charAt(0));

 

延伸:查询以上例子中,字符串中有多少个“o”?

 

var num=0;

   for(var n=0;n<str.length;n++){

       //判断字符串中第n个为“o”

       if(str.charAt(n)=="o"){

           //每等于“o”num加1;相当于num=num+1;

           //

           num++;

       }

    }

   document.write(num);

 

3)字符串名称.charCodeAt(n)

         输出字符串第n个字符编码

 

例子:

var str="AaBbCc";

   //charCodeAt输出字符串中第n个元素的字符编码

   //A--为65(十进制)   a---为97(十进制)   字母大小写都差32

   document.write(str.charCodeAt(0)+"<br>");

   document.write(str.charCodeAt(1));

 

4)字符数组名称.join(n);

实现字符数组转变成字符串,两元素之间插入n

例子:

var arr=["邢台","石家庄","邯郸","保定","衡水","青岛","秦皇岛"];

   //数组转为字符串

   document.write(arr.join("|"));//这个把所有的数组转为一个字符串

   //输出为:邢台|石家庄|邯郸|保定|衡水|青岛|秦皇岛

 

join(n)和遍历输出数组的区别:

a: join(n)是一整个字符串

b:遍历输出是有arr.length个字符串

 

例子:

var arr=["邢台","石家庄","邯郸","保定","衡水","青岛","秦皇岛"];

   //数组转为字符串

   document.write(arr.join("|"));//这个把所有的数组转为一个字符串

   //输出为:邢台|石家庄|邯郸|保定|衡水|青岛|秦皇岛

 

//遍历输出

   document.write("<br/>");

   for(var n=0;n<arr.length;n++){

       document.write(arr[n]+"|");//这是是分开,共有arr.length个字符串

    }

   //输出的结果:邢台|石家庄|邯郸|保定|衡水|青岛|秦皇岛|

 

5)字符串名称.split(n);

         实现字符串转换成字符数组,按照字符串中某一字符切割(数组需要输出)

以下例子是按照 , 进行分割的。

 

例子:

var str="邢台,秦皇岛,石家庄,邯郸,保定,北京";

   //字符串转为数组

   var arr =str.split(",");

   //数组遍历输出

   for(var n=0;n<arr.length;n++){

       document.write(arr[n]+"<br/>");

    }

 

6)字符串数组.replace(“a”,”b”);

         字符串替换,把a替换成b

例子:

var str="我喜欢你";

   //replace("a","b");把内容a换成内容b

   //输出直接写里面即可

   document.write(str.replace("我","我们"));

 

7)字符串名称.toUpperCase();字母大写

         字符串名称.toLowCase();字母小写;

例子:

var str="Hello World!";

   //输出字符串全部大写

   document.write(str.toUpperCase());

   document.write("<br/>");

 

 

3、 sellect中添加<option></option>

 

方法一:

 

<select id="number">

 

</select>

<script>

   //字符串

   var str="老大,老二,老三,小四,小五,小六";

   //将字符串转为数组

   var arr=str.split(",");

   //定义一个空字符串,为了将所有<option></option>拼接在一起

   var str1="'";

   for(var n=0;n<arr.length;n++){

       //第一步:添加文字和标签,循环出来的结果为:<option>老大</option><option>老二</option>

       str1=str1+"<option>"+arr[n]+"</option>";

    }

   //:第二步:在html输出显示

   //var con =document.getElementById("number");//把html中的id定义一个变量

   //con.innerHTML=str1;//在html中输出

   //以上简写的方式输出:

   document.getElementById("number").innerHTML=str1;

 

</script>

 

方法二:

 

<select id="sel">

 

</select>

<script>

   //字符串

   var str="老大,老二,老三,小四,小五,小六";

   //把html中的id定义一个变量

   var con=document.getElementById("sel");

   //将字符串转为数组

   var arr=str.split(",");

   //遍历输出数组

   for(var n=0;n<arr.length;n++){//错在应该循环数组的长度,不应该是字符str的长度

       //第一步:创建标签元素

       var biaoqian=document.createElement("option");

       //第二步:在标签中添加文本,innerText只添加纯文本

       biaoqian.innerText=arr[n];

       //第三步:在html中输出显示.

       con.appendChild(biaoqian);

       //也可以不用在html中的id定义变量,直接用下面的方法写

       // document.getElementById("sel").appendChild(biaoqian);

 

    }

</script>

 

 

4、 字符串的自定义函数(不适用于字符串数组)

 

语法:

String.prototype.函数名=function(){

 

}

字符串名称.函数名();

 

例子:

var str = "a,b,c,d";//数据类型为String 类型

String.prototype.scy=function(){

     alert("扩展函数");

       document.write("你好");

    }

         str.scy()

 

5、  字符数组的自定义函数(和数组定义的函数一样)

 

语法一:当一个字符数组调用一次函数时:

Array.prototype.自定义函数名字=function(){

 

}

数组名.自定义函数名();---------(数组调用函数)

 

语法二:当多个字符数组调用函数时:这时要进行传参:

 

Array.prototype.自定义函数名字=function(stu){-------这是接收的参数,名字随意取

         将下面的“传参可以为本身数组名/其他数组名/值/字符”=“stu”

         函数里面的条件必须用stu来设置

 

}

数组名1.自定义函数名(传参可以为本身数组名/其他数组名/值/字符);--------(数组调用函数)

数组名2.自定义函数名(传参可以为本身数组名/其他数组名/值/字符); --------(数组调用函数)

(可以多个数组调用函数)

0 0
原创粉丝点击