JavaScript-函数,类,数组

来源:互联网 发布:龙魂时刻数据解析失败 编辑:程序博客网 时间:2024/06/05 05:29

函数

函数定义及分类

根据函数的作用域,作用及返回值,可以将函数分成如下几种:
  1. 函数:这是一个公共的说法,范围最大;
  2. 方法:保存在对象里面的函数;
  3. 构造函数:用作创建对象的函数;
  4. 过程:没有返回值的函数。这一点和pl/sql的存储过程和存储函数有点像。
除了用表达式定义函数。还可以用Function构造函数定义。
var f = new Function("x","y","return x*y");等同于var f = function (x,y){<span style="white-space:pre"></span>return x*y;}

函数调用

构成函数主体的JavaScript代码在定义之时并不会执行,只有调用该函数时,他们才会被执行。有4中方式来调用JavaScript函数
  1. 作为函数
  2. 作为过程
  3. 作为构造函数
  4. 通过call和apply方法间接调用
其中第一二两种方法没什么好说的,第3中,构造函数,通过new来调用。
而JavaScript中函数也是对象,和其他的JavaScript对象没什么两样,其中里面有call和apply方法。
f.call(o,1,2); //f代表函数,o代表调用对象,后面是函数实参
f.apply(0,[1,2])

对象

在JavaScript中,类的实现是基于其原型对象继承机制的。如果两个实例都从同一个原型上继承了属性,我们说他们是同一个类的实例。
从某种意义上来说,定义构造对象既是定义类,当且仅当两个对象继承自同一个原型对象时,他们才是属于同一个类的实例。

数组

JavaScript数组可以看作是JavaScript对象的特殊形式,不同的时,索引的整数。数组继承自Array.propotype的属性。

数组的分类

  • 非稀疏数组
  • 稀疏数组:包含从0开始的不连续索引的数组

创建数组

  • 直接创建:var empty = [] 或 var primes = [1,2,3]
  • 使用new Array()创建

数组的长度

[].length
['a','b','c'].length
length也可以截断或增加数组长度。

数组元素的添加和删除

  • push和pop
  • a[i]和delete

数组方法

  • join
  • reverse
  • sort
  • concat
  • slice
  • toString

EXMAScript5中的数组方法

0 0