利用高级JavaScript函数

ZDNet软件频道 时间:2003-03-06 作者:周靖 译 |  我要评论()
本文关键词:
利用JavaScript函数可方便地打包为特定任务设计的指令序列,或作为类的容器使用。网上有许多文档介绍基本函数的使用,但介绍JavaScript函数高级特性的资料并不多。所以本文要讲一讲如何利用递归以及其他高级功能。
利用JavaScript函数可方便地打包为特定任务设计的指令序列,或作为类的容器使用。网上有许多文档介绍基本函数的使用,但介绍JavaScript函数高级特性的资料并不多。所以本文要讲一讲如何利用递归以及其他高级功能。

深入讨论之前,先来看看在JavaScript中定义函数的各种方式。

定义JavaScript函数

JavaScript提供三种方式来定义函数:

  • function语句
  • Function()构造函数
  • 函数字面值

下面创建名为add的一个函数来演示这三种方式。该函数的用途是取得两个传递的参数,对其相加,再返回结果。

清单A演示如何用function语句来创建函数,这是最常见的做法。清单B演示如何用Function()构造函数来创建函数。我为onChangeonClick等事件处理程序来使用Function()构造函数。它的优点是可以使用this关键字。该关键字引用了通过它来调用函数的对象;这便可将对象传给一个函数。清单C演示的是如何将函数定义成字面值,还证明了JavaScript函数就是字符串。这意味着以下代码:

xyzzy = add; alert(xyzzy(2,2))

会生成和以下代码相同的结果:
alert(add(2,2))

将函数定义成字面值的优点在于,你可将服务器端的JavaScript函数直接拷贝到客户端。

上面介绍了一些基本知识,接着讨论JavaScript的一些较高级的应用。

JavaScript函数作为类构造函数

JavaScript函数可作为类构造函数使用,以便创建自定义对象。由于这些类的实例是用new运算符创建的,所以它们可用this关键字来引用新对象,如清单B的Function()构造函数所示。在类构造函数中使用this关键字,类的实例就可同时拥有方法和属性,如清单D所示。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134