JavaScript:函数对象1
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:editor 阅读 207
1.在JavaScript中,函数就是对象。函数对象连接到Function.prototype。因为函数是对象,所有它们可以像任何其他值一样被使用。函数可以存放在变量、对象和数组中,函数可以被当做参

1.在JavaScript中,函数就是对象。函数对象连接到 Function.prototype。

因为函数是对象,所有它们可以像任何其他值一样被使用。函数可以存放在变量、对象和数组中,函数可以被当做参数传递给其他函数,函数也可以再返回函数。函数还可以拥有方法。

函数的与众不同之处在于它们可以被调用。

2.函数的定义

这两种定义方式效果一样。

3.函数调用

除了声明时定义的形式参数,每个函数接受两个附加参数:this 和 arguments 。参数 this 的值取决于调用模式。javascript中有四种调用模式:方法调用模式、函数调用模式、构造器调用模式和apply调用模式。arguments是实际参数,它是一个数组,在函数内部可以直接访问。

当函数被调用时,实际参数(arguments)会按顺序赋值给形式参数。当实际参数(arguments)的个数和形式参数(parameters)的个数不匹配时,不会出错。如果实际参数过多了,超出的参数值将被忽略(但你还是可以通过arguments[ i ]来访问到它)。当实际参数过少,缺失的值将会被替换为undefined。对参数值不会进行类型检查:任何类型的值都可以被传递给参数。

4.函数调用模式

a.方法调用模式

当一个函数被保存为对象的一个属性时,我们称它为一个方法。当一个方法被调用时,this被绑定到该对象。在函数中通过this可以访问它所属对象的属性。

b.函数调用模式

当一个函数并非一个对象的属性时,它被当做一个函数来调用。此模式下,this被绑定到全局对象。

若在内部函数中希望访问到外部函数的this,可以在外部函数中定义一个变量that并赋值为this,内部函数通过that来访问到this;也可以通过给内部函数传递一个值为this参数,内部通过参数名来访问this。

c.构造器调用模式

在一个函数前面带上new来调用。

d.Apply调用模式

apply方法接收两个参数。第一个是将被绑定给this的值。第二个就是一个参数数组。

5.函数返回

一个函数总是会返回一个值。如果没有指定返回值,则返回 undefined。

如果函数以在前面加上 new 前缀的方式调用,且返回值不是一个对象,则返回this(该新对象)。

6.异常

javascript中的异常处理机制与java相似。在javascript中,通过 throw 语句可以抛出一个自定义的exception 对象,该exception对象可以是任何对象。

但在JavaScript内部的异常中,异常参数(即catch (e)中的e)是一个名为error的对象,可以通过new Error(message)来创建这个对象,异常的描述被作为error对象的一个属性message,可以由构造函数传入,也可以之后赋值。通过这个异常描述message,可以让程序获取异常的详细信息,从而自动处理。

 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2