这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要介绍了 javascript 中数组(Array) 对象和字符串(String) 对象的常用方法, 结合实例形式总结分析了 javascript 中关于数组和字符串的常用函数与使用技巧, 需要的朋友可以参考下
本文实例总结了 javascript 中数组(Array) 对象和字符串(String) 对象的常用方法。分享给大家供大家参考,具体如下:
综述:笔者经常将数组的方法和字符串的方法混淆,这里写篇日志,做个区分
1. 字符串对象
String 是 JavaScript 中的五种基本类型之一。
(1) 字符串对象的创建
例 1:
- var str="Hello world";
或者
- var str=new String("Hello world")
(2)charAt() 方法
charAt() 方法用于返回指定位置的字符串,比如我们想返回 str 字符串中,第二个字符,则可以写成 charAt(1),因为字符串的下标也是从 0 开始,因此我们返回了第二个字符 e;
例 2:
- var str = "Hello world";
- alert(str.charAt(1))
- //输出e
(3)indexOf(注意 O 要大写)
indexOf() 方法,可返回某个指定的字符串值在字符串中首次出现的位置。
例 3:
- var str = "Hello world";
- alert(str.indexOf('e'))
- //输出1
indexOf() 方法还可以有第二个参数规定字符串开始检索的位置
(4)split() 方法
split() 方法,可以按规则分割字符串。比如:
例 4:
- var x = "86-029-19201920";
- alert(x.split( - ))
- //输出 86 029 19201920
split() 方法还可以有第二个参数,表示分割的次数,如果省略,默认分割次数不限
(5)substring() 方法
substring() 方法,可以提取字符串,改方法有两个参数,第一个参数表示起始位置,第二个参数表示终止位置,如果省略第二个参数,默认提取到字符串的结尾。
例 5:
- var x = "Hello world";
- alert(x.substring(0, 4));
- //输出Hello
(6)substr() 方法
substr() 方法,也可以用于提取字符串,不同的是该方法的两个参数,第一个参数表示起始位置,第二个参数表示提出字符串的个数。
例 6:
- var x = "Hello world";
- alert(x.substr(0, 5));
- //同样输出Hello
2. 数组对象(Array)
(1) 数组对象的创建
例 1:
- var arr=new Array(10) ;
- var arr=[1,2,3];
- var arr=new Array(1,2,3);
- var arr=[];
数组创建的方法一般有这么几种,其中 var arr=new Array(1,2,3) 这种方式较为少见。
(2)concat() 方法
例 2:
- var x=[1,2,3];
- var y=x.concat(4,5);
- alert(y);
- //输出y为1,2,3,4,5
concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。
(3)join() 方法
例 3:
- var x = [1, 2, 3];
- alert(x.join("-"));
- //输出的位1-2-3
join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
(4)reverse() 方法
数组反转,不会生成新的数组
例 4:
- var x=[1,2,3];
- alert(x.reverse());
- //输出的位3,2,1
(5)slice() 方法
slice() 方法可从已有的数组中返回选定的元素。slice 方法也有 2 个参数,第一个参数表示开始位置,第二个参数表示结束位置。
(6)splice() 方法
splice() 方法用于在数组中插入或删除元素的通用方法,不同于 concat() 和 slice() 方法,splice() 会修改调用的数组。
例 6:
- var a=[1,2,3,4,5,6,7,8];
- a.splice(4);//返回[5,6,7,8],a数组变成了[1,2,3,4]
- a.splice(1,2);//返回[2,3],a数组变成了[1,4]
- a.splice(1,1);//返回了[4],a数组变成了[1]
注:splice() 的第一个参数指定了插入的起始位置,第二个参数指定了应该从数组中插入或删除的元素的个数
splice() 返回一个由删除元素组成的数组。
(7)push() 和 pop() 方法
push() 和 pop() 方法允许数组当做栈来使用,push() 表示在数组的尾部添加一个或者多个元素,pop() 方法则相反。
(8)shift() 和 unshift() 方法
shift() 和 unshift() 方法,非常类似于 push() 和 pop() 方法,不同的是前者是在数组的头部而非尾部进行插入和删除操作。
(9)sort() 方法
sort() 方法使数组中的元素按照一定的顺序排列。
例 9:
- var x = [1, 2, 13, 113],
- alert(x.sort())
- //默认排序规则为按字母表排序,因为输出 1,113,13,2
如果要使得数组从小到大排序,则为
- x.sort(function(a, b) {
- return a - b
- });
ES5 新增的方法
ES5 中的数组方法,首先大部分的方法第一个参数接收一个函数,并且对于数组的每个元素调用一次该函数,函数中的参数为第一个参数为数组元素,第二个参数为元素的索引,第三个参数为数组本身
(10)foreach() 方法
从头到尾遍历数组,为每个数组调用指定的函数
例 10:
- var x = [1, 2, 3, 4, 5];
- alert(x.foreach(function(x, i, a) {
- a[i] = x * x
- }))
- //返回[1,4,9,16,25]
ES5 中还有类似 map,filter 等方法不一一讨论
3. 数组对象和字符串对象方法的互用
我们学过了 call 和 apply 函数就能实现字符串方法和数组对象方法的互用
比如:我们想在字符串对象中使用数组对象的方法,可以这样实现:
例:
- var x="Hello World";
- var y=Array.prototype.slice.call(x);
通过 call 方法,将 x 字符串对象转为了 y 数组对象!!!同理也可以将数组对象转化为字符串对象,
就不在累赘举例了!~
希望本文所述对大家 JavaScript 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0511/329533.html