JavaScript中的数组在EmEditor宏中的应用
目录
一、为什么要学习数组 (2)
二、什么是数组 (2)
三、创建数组 (3)
四、访问数组 (3)
五、数组可有不同对象 (4)
六、数组的方法和属性 (4)
javascript数组对象6.1数组的属性:constructor (4)
6.2数组的属性:prototype (5)
6.3数组的属性:length (6)
6.3数组的方法:concat() (6)
6.4数组的方法:join() (7)
6.5数组的方法:pop()和shift() (7)
6.6数组的方法:push()和unshift() (8)
6.7数组的方法:reverse() (8)
6.8数组的方法:slice() (9)
6.9数组的方法:sort() (9)
6.10数组的方法:splice() (11)
6.11数组的方法:toString() (11)
EmEditor宏使用JScript5.8(相当于InternetExplorer8.0),所以EmEditor宏不支持JScript5.8之后引入的新方法,本文所列举的JavaScript数组的属性及方法均通过EmEditor宏应用测试。
一、为什么要学习数组
下面我们通过几行EmEditor的宏代码来体验数组的优点:
不使用数组的代码:
1.document.selection.Replace("upbeat","01_upbeat",eeFindReplaceCase|eeReplac
eAll,0);
2.document.selection.Replace("epic","02_epic",eeFindReplaceCase|eeReplaceAll,
0);
3.document.selection.Replace("horror","03_horror",eeFindReplaceCase|eeReplac
eAll,0);
4.document.selection.Replace("romantic","04_romantic",eeFindReplaceCase|eeRe
placeAll,0);
5.document.selection.Replace("comedy","05_comedy",eeFindReplaceCase|eeReplac
eAll,0);
6.document.selection.Replace("world","06_world",eeFindReplaceCase|eeReplaceA
ll,0);
7.document.selection.Replace("scoring","07_scoring",eeFindReplaceCase|eeRepl
aceAll,0);
8.document.selection.Replace("electronic","08_electronic",eeFindReplaceCase|
eeReplaceAll,0);
9.document.selection.Replace("misc","09_misc",eeFindReplaceCase|eeReplaceAll,
0);
使用数组的代码:
1.array=new Array("upbeat","epic","horror","romantic","comedy","world","scorin
g","electronic","misc")
2.for(var i=1;i<10;i++)
3.{
4.document.selection.Replace(array[i],"0"+i+array[i],eeFindReplaceCase|eeRe
placeAll,0);
5.}
二、什么是数组
数组:使用单独的变量名来存储一系列的值。例如有一组数据(例如:人名字),存在单独变量如下所示:
1.var persoName1="司马光";//这位就是那个砸缸的家伙
2.var persoName2="匡衡";//这位就是凿壁偷光的那位
3.var persoName3="李绅";//这位是“锄禾日当午”的那人
假如想从10000人名称中出1个人名呢?这不是一件容易的事,建议最好使用数组。
数组是用一个变量名存储所有的值,且可用变量名访问其中任何一个值;数组中的每个元素都有自己的标识,俗称ID,这样方便快捷地被访问到。
三、创建数组
有三种方法创建数组:
1、常规:
1.var personNameArray=new Array()
2.personNameArray[0]="司马光";
3.personNameArray[1]="匡衡";
4.personNameArray[2]="李绅";
2、简洁:
1.var personNameArray=new Array("司马光","匡衡","李绅")
3、字面:
1.var personNameArray=["司马光","匡衡","李绅"];
四、访问数组
访问某个特定的元素:通过指定数组名以及索引号码。
1.  1.var firstName=personNameArray[0]//[0]是数组的第一个元素。[1]是第二个元素
下面的例子是修改数组personNameArray的第一个数组:
1.personNameArray[0]="李绅";
五、数组可有不同对象
在JavaScript中,所有的变量都是对象,数组元素是对象,函数是对象,所以可在数组中有不同的变量类型。可在数组中包含对象元素、函数、数组:
4.function myFunc()
5.{
6.alert("匡衡");
7.}
六、数组的方法和属性
6.1数组的属性:constructor
Constructor,返回数组对象原型创建的函数。
1.var personNameArray=new Array()
2.personNameArray[0]="司马光";
3.personNameArray[1]="匡衡";
4.personNameArray[2]="李绅";
5.structor);
在EmEditor中运行上述代码后,返回结果:
6.2数组的属性:prototype
下面我们通过一个实例来演示其用法:
1.Lowercase=function()
2.{
3.for(i=0;i<this.length;i++)
4.{
5.this[i]=this[i].toLowerCase();
6.}
7.}
8.var fruits=["CHINA","JAPAN","AMERICA"];
9.alert(fruits[0])//调用前:fruits[0]
Lowercase();//调用函数
11.alert(fruits[0])//调用后:fruits[0]
在EmEditor中运行上述代码后,返回结果:
第一个弹出窗口:
第二个弹出窗口:
prototype属性可以方便地向数组对象添加属性和方法。当构建一个属性,所有的数组将被设置属性,它是默认值;在构建一个方法时,所有的数组都可以使用该方法。由此可见在JavaScript对象中,Prototype是一个全局属性。
另外注意:Array.prototype单独不能引用数组,Array()对象可以。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。