你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 编程语言
JavaScript中函数与对象的解析(一)
 

摘 要  Ajax应用中,客户端的JavaScript编码越来越庞大,需要程序员有效地组织代码实现应用功能。JavaScript语言与C++Java等语言在语法上类似,但其函数具有独特性,深入理解JavaScript语言中的函数与对象是掌握JavaScript的基础。

关键词 JavaScript;函数;对象

 

1 引言

随着富客户端技术的发展,尤其是Ajax技术的广泛应用,客户端JavaScript(后简写为JS)编码越来越庞大。函数是进行模块化程序设计的基础,要编写复杂的Ajax应用程序,必须对函数有深入地了解。JS中的函数不同于其他的语言,它的函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便地将一个函数赋值给一个变量或者将函数作为参数传递。

先看一下函数的使用语法:

function func1(){}
 var func2=function(
){};
 var func3=function func4(
){};
 var func5=new Function();

这些都是JS声明函数的正确语法,它们和其他语言中常见的函数定义方式有着很大的区别。

2   函数对象(Function Object

可以用function关键字定义一个函数,并为每个函数指定一个函数名,通过函数名来进行调用。在JS解释执行时,函数都是被维护为一个对象,这就是要介绍的函数对象。

函数对象与其他用户所定义的对象有着本质的区别,这一类对象被称之为内部对象,例如日期对象(Date)、数组对象(Array)、字符串对象(String)都属于内部对象。这些内置对象的构造器是由JS本身所定义的,通过执行new Array()这样的语句返回一个对象,JS内部有一套机制来初始化返回的对象,而不是由用户来指定对象的构造方法。

JS中,函数对象对应的类型是Function,正如数组对象对应的类型是Array,日期对象对应的类型是Date一样,可以通过new Function()来创建一个函数对象,也可以通过function关键字来创建一个对象。为了便于理解,比较函数对象的创建和数组对象的创建。先看数组对象,下面两行代码都是创建一个数组对象myArray

var myArray=[];
 //
等价于
 var myArray=new Array();

//同样,下面的两段代码也都是创建一个函数myFunction
 function myFunction(a,b){
       return a+b;
 }
 //
等价于
 var myFunction=new Function("a","b","return a+b");

通过和构造数组对象语句的比较,可以清楚地看到JS函数作为对象的本质,在解释器内部,当遇到这种语法时,就会自动构造一个Function对象,将函数作为一个内部的对象来存储和运行。一个函数对象名称(函数变量)和一个普通变量名称具有同样的规范,都可以通过变量名来引用这个变量,但是函数变量名后面可以加括号和参数列表来进行函数调用。

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089