JavaScript的函数和数组

来自站长百科
Zhou3158讨论 | 贡献2009年11月18日 (三) 16:08的版本 →‎数组
跳转至: 导航、​ 搜索

导航: 上一页 | aJAX| XML | DreamWeaver | PhotoShop | Discuz | Asp | php | java | HTML | XHTML

函数

函数是可以重复使用的代码块,可以由一个事件执行,或被调用执行。一个函数中的代码只有在事件触发或函数被调用的时候才被执行。你可以在页面中的任何位置调用脚本(如果函数嵌入一个外部的 .js 文件,甚至可以从其他的页面中调用)。函数一般定义在页面开始位置的<head> 部分中。

eg:

<html>
<head>
<script type="text/javascript">
function displaymessage()
{
alert("Hello World!")
}
</script>
</head>
<body>
<form>
<input type="button" value="Click me!" onclick="displaymessage()">
</form>
</body>
</html>

假如上面的例子中的 alert("Hello world!!") 没有被写入函数,那么当页面被载入时它就会执行。现在,当用户击中按钮时,脚本才会执行。我们给按钮添加了onClick 事件,这样按钮被点击时函数才会执行。

创建函数的语法:

function 函数名(var1,var2,...,varX)  若无var1,var2,...,varX也可以,表示无参数函数。
  {
  代码...
  }


数组

数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象).

定义数组 定义数组要使用关键字new。

eg:var myArray=new Array()

向数组内赋值有2种方法:

  • 先定义再赋值。
var mycars=new Array()
mycars[0]=“buick”
mycars[1]=”Volvo”
mycars[2]=”BMW” 

上面的定义中没有定义数组的大小,你可以向数组中添加任意多个值。你也可以在定义数组对象时写入一个整型参数来控制数组的大小.

eg:

var mycars=new Array(3)
mycars[0]="buick”
mycars[1]=”Volvo”
mycars[2]=”BMW” 


  • 定义的同时填值:

eg: var mycars=new Array(”buick”,”Volvo”,”BMW”) 或var mycars=[”buick”,”Volvo”,”BMW”]


访问数组

你可以通过使用数组的名称后面加索引号来指向数组中某一元素。索引号从零开始。

eg: document.write(mycars[0]) 将输出:buick

修改数组内的值

要修改数组中现有的值只需要将新值写入数组指定位置即可。

eg:将0号索引的值改为:Opel。 写法为:mycars[0]=”Opel” document.write(mycars[0])

Array literals

数组其实是特殊的对象,对象有特有属性和方法,通过 对象名.属性 、对象.方法() 来取值和调用,而数组是通过下标来取值,Array Literals跟数组有很多相似,都是某数据类型的集合,但是Array Literals从根本来说,是个对象,但声明和调用,跟数组是有区别。

var aa=new Object();
aa.x="cat";
aa.y="sunny";
alert(aa.x);//弹出cat

创建一个简单的对象,一般调用是通过aa.x,而如果当成Array literals的话,用alert(aa[“x”])一样会弹出cat

var a = {x:"cat",    y:"sunny"};
alert(a["y"]);  //弹出sunny

这是另一种创建对象的方法,结果是一样的.

数组的循环

var a=[1,2,3,4,5,6];
for(i=0;i<a.length;i++)
{ alert(a[i]);
}

这是最常用的遍历数组,代码依次弹出1至6.

还有一宗方法为:

var a=[1,2,3,4,5,6];
for(var e in a)
{
   alert(e)}

还是依次弹出1至6,for…in是历遍对象(数组是特殊的对象)对象,用在数组上,因为数组没有属性名,所以直接输出值,

数组的操作方法

先概览下下面的这些操作数组常用的方法:toString(),valueOf(),toLocalString(),join(),split(),slice(),concat(),pop(),push(),shift(),unshift(),sort(),splice()

toString(),valueOf(),toLocalString():